import numpy as np
a=np.array([1,2,3,4])#使用列表[1,2,3,4]创建数组a
print(a)
[1 2 3 4]#元素间没有逗号区别于list
a=np.arange(4)#创建数组[0 1 2 3]
a.ndim#返回a的维数
a.shape#返回a的行数和列数
a.size#返回a的元素个数
a.reshape((2,2))#将数组a重新排列为2*2的数组
[[1 2],
[3 4]]
a[0][1] == a[0,1] == 2 按坐标定位元素
a[:,1] == [2 4] 返回所有行的第1列的所有元素
a.dot(b)等价于np.dot(a,b)
a=np.random.random((2,4))#随机生成2*4的数组,元素<1
np.sum(a) == a.sum() axis=1/0 #1按照行计算,0按照列计算
np.min(a) == a.min()
np.max(a) == a.max()
np.argmin(a) == a.argmin() 最小值索引
np.argmax(a) == a.argmax() 最大值索引
np.average(a) == np.mean(a) == a.mean(axis=0/1) 平均值 axis=0按列算 =1按行算
np.median(a) 中位数
np.cumsum(a) == a.cumsum() 累加和数组
np.diff(a) 累差数组 34 的 数组输出 33 的数组
np.nonzero(a) 返回分别代表a中非0元素的行和列的两个数组
np.sort(a) == a.sort() 按行从小到大排序 a被改变 无返回值
np.tranpose(a) == a.T 反转正立 a不变 返回新数组
np.clip(a) == a.clip(5,9) a不变,返回新数组 小于5的变为5,大于9的变为9
for row in a:
print(row)
打印a中每一行
for column in a.T:
print(column)
打印a中每一列
a.flatten() 返回一个由a中元素组成的一维数组
a.flat 返回一个迭代器可以用nex()调用
np.vstack(a,b) 上下合并a,b数组返回新数组(行数=a+b,列数不变,a,b数组列数必须相等)
np.hstack(a,b) 左右合并a,b数组返回新数组(列数=a+b,行数不变,a,b数组行数必须相等)
np.split(A,2,axis=0/1) 对数组a 按照axis分割为2部分,0代表行,1代表列
np.vsplit(a,3) 上下分割为3个数组
np.hsplit(a,2) 左右分割为2个数组
b=a a,b关联,指向同一个地址
b=a.copy() 浅复制 a,b不关联