首页Python【Python数据分析】1...

【Python数据分析】13.Numpy线性代数函数及文件读写


本系列文章配套代码获取有以下三种途径:

  • 可以在以下网站查看,该网站是使用JupyterLite搭建的web端Jupyter环境,因此无需在本地安装运行环境即可使用,首次运行浏览器需要下载一些配置文件(大约20M):

https://returu.github.io/Python_Data_Analysis/lab/index.html
链接:https://pan.baidu.com/s/1MYkeYeVAIRqbxezQECHwcA?pwd=mnsj 提取码:mnsj
  • 前往GitHub详情页面,单击 code 按钮,选择Download ZIP选项:
https://github.com/returu/Python_Data_Analysis

根据《Python for Data Analysis 3rd Edition》翻译整理

—————-————————————-

1.线性代数函数:

常用的线性代数函数的列表如下所示:

函数方法
说明
diag 将一个矩阵的对角(或非对角)元素作为一维数组返回,或者将一维数组转换成一个方阵,并且在非对角线上有零点
dot 矩阵点乘
trace 计算对角元素和
det 计算矩阵的行列式
eig 计算方阵的特征值和特征向量
inv 计算方阵的逆矩阵
pinv 计算矩阵的Moore-Penrose伪逆
qr 计算QR分解
svd 计算奇异值分解(SVD)
solve 求解x的线性系统Ax=b(A为方阵)
lstsq 计算x的线性系统Ax=b的最小二乘解
Numpy的线性代数不同的是,*是矩阵的逐元素相乘,而不是矩阵的点乘积。Numpy中矩阵的点乘使用dot()`@`完成。
 1>>> x = np.array([[1., 2., 3.], [4., 5., 6.]])
2>>> x
3array([[1., 2., 3.],
4       [4., 5., 6.]]
)
5
6>>> y = np.array([[6., 23.], [-1, 7], [8, 9]])
7>>> y
8array([[ 6., 23.],
9       [-1.,  7.],
10       [ 8.,  9.]]
)
11
12>>> x.dot(y)
13array([[ 28.,  64.],
14       [ 67., 181.]]
)
15
16>>> x@y
17array([[ 28.,  64.],
18       [ 67., 181.]]
)

如有需要,其他函数可以参看官方文档(https://numpy.org/doc/stable/index.html#)。

2.文件读写操作:

Numpy可以以文本或二进制文件的形式进行读取和写入操作,不过因为Pandas对文件读写操作更为便利,因此使用Numpy读写文件情况较少。

  • save()方法用于将数组存储到硬盘中,默认情况是以未压缩的格式进行存储,存储为.npy格式(如果文件存放路径未写文件后缀,numpy会自动加上)。

    1>>> arr = np.arange(5)
    2>>> np.save('test' , arr)
  • load()方法用于将数组从硬盘中载入。

1>>> np.load('test.npy')
2array([01234])
  • savez()方法,可以用于保存多个数组,将数组作为关键字参数传递

1>>> arr1 = np.arange(0,5)
2>>> arr2 = np.arange(5,10)
3
4>>> np.savez('test2.npz' , x=arr1 , y=arr2)

当加载一个.npz文件时,会得到一个类似字典的对象:

1>>> data = np.load('test2.npz')
2
3>>> data['x']
4array([01234])
5>>> data['y']
6array([56789])


本篇文章来源于微信公众号: 码农设计师

RELATED ARTICLES

欢迎留下您的宝贵建议

Please enter your comment!
Please enter your name here

- Advertisment -

Most Popular

Recent Comments