python基础教程系列
python中numpy库的使用
NumPy 是一个 Python 包。 它代表 “Numeric Python”。 它是一个由多维数组对象和用于处理数组的例程集合组成的库。
1.导入NumPy
Import numpy as np
2.生成NumPy数组
要生成NumPy数组,需要使用np.array()方法。np.array()接收python列表作为参数,生成NumPy数组(numpy.ndarray)
>>> x = np.array([1.0, 2.0, 3.0])
>>> print(x)
[1. 2. 3.]
>>> type(x)
<class 'numpy.ndarray'>
3.NumPy的算术运算
当数组x和数组y元素个数相同时,就可以对各个元素进行加减乘除算数运算。
4.N维数组
>>> A = np.array([[1, 2], [3, 4]])
>>> print(A)
[[1 2]
[3 4]]
>>> A.shape
(2, 2)
>>> A.dtype
dtype('int64')
这里生成了一个2×2的矩阵A。另外,矩阵A的形状可以通过shape
查看,矩阵元素的数据类型可以通过dtype
查看。并且,算数运算也可以在相同形状的矩阵间以对应元素的方式进行。
一维数组——向量
二维数组——矩阵
三维及以上数组——张量(tensor)
5.广播
这里用图片可以很直观的表示,即矩阵进行运算时如果维度不够会自动补全。
6.访问元素
元素的索引从0开始。对各个元素的访问可以按照如下方式进行。
>>> X = np.array([[51, 55], [14, 19],[0, 4]])
>>> print(X)
[[51 55]
[14 19]
[0 4]]
>>> X[0] # 第0行
array([51, 55])
>>> X[0][1]
55
也可以使用for语句访问各个元素
>>> for row in X
print(row)
[51 55]
[14 19]
[0 4]
除了前面介绍的索引操作,NumPy还可以使用数组访问各个元素。
>>> X = X.flatten() # 将X数组转换为1维数组
>>> print(X)
[51 55 14 19 0 4]
>>> X[np.array([0, 2, 4])] # 获取索引为0,2,4的元素
array([51, 14, 0])
例如从X中抽出大于15的元素,可以写成以下形式。
>>> X > 15
array([True, True, False,True, False, False], dytpe=bool)
>>> X[X>15]
array([51, 55, 19])