1.索引
import numpy as np #将numpy简写成np
a = np.arange(3, 15)
print(a)
print(a[3]) #一维下标索引
b = np.arange(3, 15).reshape(3,4)
print(b)
print(b[2]) #索引二维数组的行数
print(b[2][2]) #索引二维数组的第几行第几列
print(b[2, 2]) #索引二维数组的第几行第几列
print(b[2, :]) #索引二维数组的第2行的所有数
print(b[:,1]) #索引二维数组的第1列的所有数
print(b[1, 1:2]) #索引二维数组的第1行 的第一列到第二列的数
b = np.arange(3, 15).reshape(3, 4)
print(b)
for row in b:
print(row) #按行索引
for column in b.T: #把b数组进行翻转,再按行索引,就是原本b数组的按列索引
print(column)
for item in b.flat: #迭代出b数组中所有数
print(item)
2.合并
a = np.array([1,1,1])
b = np.array([2,2,2])
c = np.vstack((a,b)) #将a,b进行垂直合并
d = np.hstack((a,b)) #将a,b进行左右合并
e = np.concatenate((c, d)) #多个数组的合并
print(d)
print(a[:, np.newaxis]) #在a列中添加新的维度
3.分割
vsplit沿着垂直轴分割,纵向分割
指定分割应该发生之后的列来沿着其横轴拆分原array
import numpy as np #将numpy简写成np
a = np.arange(12).reshape((3,4))
print(a)
# print(np.split(a, 2, axis=1)) #将a的列分成两分,进行等量分割
# print(np.split(a, 3, axis=0))
print(np.array_split(a, 3, axis=1)) #a的列分成三份,进行不等量分割
print(np.vsplit(a,3))
print(np.hsplit(a,2))
4.复制
import numpy as np #将numpy简写成np
a = np.arange(4)
d = a #完完全全的a就是d
d[1:3] = [9, 8] #操作d,也就是在操作a
print(a)
print(d)
如果只想把a的副本给b,那么进行以下操作
a = np.arange(4)
d = a.copy()
d[1:3] = [9, 8]
a[1:3] = [5, 5]
print(a)
print(d)
[0 5 5 3]
[0 9 8 3]
a被改变成[0 5 5 3]
b被改变成[0 9 8 3]