本系列文章配套代码获取有以下三种途径:
-
可以在以下网站查看,该网站是使用JupyterLite搭建的web端Jupyter环境,因此无需在本地安装运行环境即可使用,首次运行浏览器需要下载一些配置文件(大约20M):
https://returu.github.io/Python_Data_Analysis/lab/index.html
-
也可以通过百度网盘获取,需要在本地配置代码运行环境,环境配置可以查看【Python基础】2.搭建Python开发环境:
链接: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》翻译整理
—————-————————————-
常用的线性代数函数的列表如下所示:
函数方法 |
说明 |
diag | 将一个矩阵的对角(或非对角)元素作为一维数组返回,或者将一维数组转换成一个方阵,并且在非对角线上有零点 |
dot | 矩阵点乘 |
trace | 计算对角元素和 |
det | 计算矩阵的行列式 |
eig | 计算方阵的特征值和特征向量 |
inv | 计算方阵的逆矩阵 |
pinv | 计算矩阵的Moore-Penrose伪逆 |
qr | 计算QR分解 |
svd | 计算奇异值分解(SVD) |
solve | 求解x的线性系统Ax=b(A为方阵) |
lstsq | 计算x的线性系统Ax=b的最小二乘解 |
*
是矩阵的逐元素相乘,而不是矩阵的点乘积。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([0, 1, 2, 3, 4])
-
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([0, 1, 2, 3, 4])
5>>> data['y']
6array([5, 6, 7, 8, 9])
本篇文章来源于微信公众号: 码农设计师