numpy的属性
ndim维度
shape形状
size元素个数
数组创建
创建
np.array([1, 2, 3])
np.array([[1, 2, 3], [4, 5, 6]])
指定数据类型(int64)
np.array([1, 2, 3], dtype = int)
创建全零数组
np.zeros((3, 4))
创建全一数组
np.ones((3, 4))
创建全空数组(每个数接近0)
np.empty((3, 4))
arrange指定范围,范围是[1, 12),步长为2
np.arrange(1, 12, 2)
reshape改变形状
np.arrange(12).reshape((3, 4))
linspace分割开始端1与结束端10的数据,生成20个数据
np.linspace(1, 10, 20)
运算
a与b同行同列,可进行加减乘运算,进行乘运算时,对应位置相乘
c=a+b c=a-b c=a*b
numpy中包含数学工具
c = np.sin(a)
矩阵乘法dot
c = np.dot(a, b)
在脚本中对print函数进行一些修改可以进行逻辑判断,生成逻辑数组
print(b<3)
# array([ True, True, True, False], dtype=bool)
一些函数
如果你需要对行或者列进行查找运算,就需要在上述代码中为 axis 进行赋值。 当axis的值为0的时候,将会以列作为查找单元, 当axis的值为1的时候,将会以行作为查找单元。
argmin() 和 argmax() 两个函数分别对应着求矩阵中最小元素和最大元素的索引。
np.sum(a, axis = 0)
np.min(a, axis = 1)
np.max(a)
np.mean(a)
np.median(a)
np.cumsum(a)累加函数,每次输出当前和
np.diff(a) 累差运算函数,计算每行后一项与前一项之差
np.transpose(a)转置,同理还可以用a.T
np.sort(a)每一行按顺序排列
np.lip(a, 50, 100)
lip(Array,Array_min,Array_max),让函数判断矩阵中元素是否有比最小值小的或者比最大值大的元素,并将这些指定的元素转换为最小值或者最大值。
a.flatten() 将矩阵变为1D张量
随机生成数组
rand函数根据给定维度生成[0,1)之间的数据,包含0,不包含1
np.random.rand(4,2)
randn函数返回一个或一组样本,具有标准正态分布。
np.random.randn(2,4)
以上函数没有输入参数时,输出单个数据
random返回随机的浮点数
np.random.random((2,2))
permutation返回一个随机排列
>>> np.random.permutation(10)
array([1, 7, 4, 3, 0, 9, 2, 5, 8, 6])
>>> np.random.permutation([1, 4, 9, 12, 15])
array([15, 1, 9, 4, 12])
>>> arr = np.arange(9).reshape((3, 3))
>>> np.random.permutation(arr)
array([[6, 7, 8],
[0, 1, 2],
[3, 4, 5]])