NumPy是一个功能强大的Python库,主要用于对多维数组执行计算,其提供了大量的库函数和操作,可以帮助程序员轻松地进行数值计算。
1导入NumPy
import numpy as np
2生成NumPy数组
np.array() 接收Python 列表作为参数,生成NumPy数(numpy.ndarray)
array = np.array([1.0, 2.0, 3.0])
print(array,type(array))
3广播
广播(Broadcast)是 numpy 对不同形状(shape)的数组进行数值计算的方式, 对数组的算术运算通常在相应的元素上进行。
如果两个数组 a 和 b 形状相同,即满足 a.shape == b.shape,那么 a*b 的结果就是 a 与 b 数组对应位相乘。这要求维数相同,且各维度的长度相同。

list_a = np.array([[1, 2], [3, 4]])
list_b = np.array([10, 20])
print(list_a * list_b)
4访问元素
X = np.array([[51, 55], [14, 19], [0, 24]])
for row in X:
print(row)
x= X.flatten() #将X转换为一维数组
print(x) #[51 55 14 19 0 24]
print(x[np.array([0, 2, 4])]) ## 获取索引为0、2、4的元素
print(x>15) #[ True True False True False True]
print(x[x>15]) #[51 55 19 24]
5数组/矩阵转置运算
数据要转置一个矩阵,只需使用一个数组对象的T
属性。
下面是转置常用的一些方法
moveaxis(a, source, destination) 将数组的轴移动到新位置。
rollaxis(a, axis[, start]) 向后滚动指定的轴,直到它位于给定位置。
swapaxes(a, axis1, axis2) 交换数组的两个轴。ndarray.T 与self.transpose() 相同,只是如果self.ndim < 2 则返回self。
transpose(a[, axes]) 置换数组的维度。
import numpy as np
x = np.array([[1,2], [3,4]])
print(x) # Prints "[[1 2]
# [3 4]]"
print(x.T) # Prints "[[1 3]
# [2 4]]"
# Note that taking the transpose of a rank 1 array does nothing:
v = np.array([1,2,3])
print(v) # Prints "[1 2 3]"
print(v.T) # Prints "[1 2 3]"
Numpy提供了许多用于操作数组的函数;你可以在这篇文档中看到完整的列表。
网友评论