Chapter4-4 用于数组的文件输入和输出 Chapter4-5 线性代数
来源:互联网 发布:网络电视这么切换有线 编辑:程序博客网 时间:2024/04/29 17:07
'''
Chapter4-4 用于数组的文件输入和输出
Chapter4-5 线性代数
索引:
1.将数据以二进制形式保存到磁盘(默认是无压缩的)
np.save(filename,data)将data保存为二进制filename.npy
np.savez(filename,a=arr1,b=arr2)存为压缩文件filename.npz
np.load(filemname)读取filename(对npz文件和npy文件的读取结果结构不同)
2.存取文本文件#只讲简单的内容,更多时候用到的是pandas(下一章的内容)
3.x.dot(y)==np.dot(x,y)(数学意义上的矩阵相乘)
4.numpy.linalg中有些矩阵分解运算的方法,如求逆,求行列式等
5.常用函数列表
Created on 2016年12月19日
@author: Bigboy
Chapter4-4 用于数组的文件输入和输出
Chapter4-5 线性代数
索引:
1.将数据以二进制形式保存到磁盘(默认是无压缩的)
np.save(filename,data)将data保存为二进制filename.npy
np.savez(filename,a=arr1,b=arr2)存为压缩文件filename.npz
np.load(filemname)读取filename(对npz文件和npy文件的读取结果结构不同)
2.存取文本文件#只讲简单的内容,更多时候用到的是pandas(下一章的内容)
3.x.dot(y)==np.dot(x,y)(数学意义上的矩阵相乘)
4.numpy.linalg中有些矩阵分解运算的方法,如求逆,求行列式等
5.常用函数列表
Created on 2016年12月19日
@author: Bigboy
'''
实践内容:
#-*- coding:utf-8-*-import numpy as np#1----------------------------------------------------------------------------arr = np.arange(10)np.save('d:/arrdata', arr)#可以指定路径,默认是当前工作路径,就是当前模块的存储的路径#保存时结尾会加上.npy,是二进制文件data = np.load('arrdata.npy')#读出放在数组中print data'''out:[0 1 2 3 4 5 6 7 8 9]'''arr1 = np.arange(10,20)np.savez('dataz',a=arr,b=arr1)#这里数据存储在压缩文件datax.npz中,#参数a b 的意思是把名为arr和arr1的两个数组存在dataz.npz中arch = np.load('dataz.npz')#arch存的是读到的dataz的所有信息,但是类似于字典的结构#可用如下方式访问print arch['a']print arch['b']'''out:[0 1 2 3 4 5 6 7 8 9][10 11 12 13 14 15 16 17 18 19]'''#2-------------------------------------------------------------------------------arr = np.loadtxt('test.txt',delimiter=',')print arr '''out:[[ 0.580052 0.18673 1.040717 1.134411] [ 0.194163 -0.636917 -0.938659 0.124094] [-0.12641 0.268607 -0.695724 0.047428] [-1.484413 0.004176 -0.744203 0.005487] [ 2.302869 0.200131 1.670238 -1.88109 ] [-0.19323 1.047233 0.482803 0.960334]]'''#3--------------------------------------------------------------------------------arr1 = np.array([[1,2,3],[4,5,6],[7,8,9]])arr2 = np.array([[1,1],[1,1],[1,1]])#print arr1*arr2#对应元素相乘,两个阵的结构必须一样,这里两个矩阵的维度不一样,会报错print arr1.dot(arr2)#arr1与arr2相乘print np.dot(arr1,arr2)#4--------------------------------------------------------------------------------from numpy.linalg import inv, qr,solvearr1 = np.random.randn(3,3)print arr1#print arr1.T#返回转置后的矩阵,但是arr本身不变print inv(arr1.T.dot(arr1))#矩阵求逆(保证是方阵)print qr(arr1)#QR分解得到两个矩阵'''out:[[-0.15596411 0.07390067 0.07783746] [ 0.05810221 1.57415662 -0.67944777] [ 1.7033188 -1.94571772 -0.51524658]] [[ 4522.54316833 2391.11585043 5931.75577862] [ 2391.11585043 1264.36758533 3136.1946318 ] [ 5931.75577862 3136.1946318 7781.44037243]] (array([[-0.09113083, 0.05985673, 0.9940384 ], [ 0.03394949, -0.99742498, 0.06317305], [ 0.99526007, 0.03950411, 0.08886406]]),array([[ 1.71143086, -1.88978796, -0.54296465], [ 0. , -1.64254353, 0.66200292], [ 0. , 0. , -0.01133627]]))'''A = [[1,0,0],[0,1,0],[0,0,1]]B = [1,1,1]print solve(A,B)#solve解方程AX=B,接受两参数A和B#当没有解时可用最小二乘解lstsq()'''out:[ 1. 1. 1.]'''函数备忘:
0 0
- Chapter4-4 用于数组的文件输入和输出 Chapter4-5 线性代数
- chapter4
- chapter4
- Chapter4
- 数据结构--Chapter4(串与数组)
- Chapter4-1 NumPy的ndarray:一种多维数组对象
- C和指针(Chapter3 &Chapter4)
- es6 chapter4 字符串的扩展
- Chapter4.1.1 函数的对象
- chapter4:ConfiguringtheNetworkEnvironment
- chapter4程序代码
- Chapter4 表达式
- MetaProgramming Chapter4
- Chapter4-3 :利用数组进行数据处理
- Chapter4:栈的应用-单词逆序
- Javascript程序设计第三版,chapter4-5
- Chapter4.1.1linux常用命令 文件处理ls ls
- CCNA-Cisco-Chapter4
- tomcat manager 无法使用
- 架构设计需要注重以下几点
- HTML5 网页模版
- 学习笔记
- android:仿淘宝商品详情下拉展示浏览历史
- Chapter4-4 用于数组的文件输入和输出 Chapter4-5 线性代数
- 安装新版本安装失败
- c#设置自定义控件为透明背景
- Maven3.3.*与JDK版本兼容问题
- 补零
- 删除DataFrame中值全为NaN或者包含有NaN的列或行?
- iOS 连续多次present 之后,想回到最初的viewController
- Android Fragment 你应该知道的一切
- 快速了解 Robot Operating System(ROS) 机器人操作系统