numpy库
1 reshape
用于修改维度
已有一个一维矩阵nparr=[0 1 2 3 4 5 6 7 8 9],将其转换为2行5列的二维矩阵
arr9 = nparr.reshape(2,5)
print(arr9)
[[0 1 2 3 4]
[5 6 7 8 9]]
或转换为两行均等元素的矩阵
arr9 = nparr.reshape(2,-1)
多层连用
x = np.arange(15).reshape(-1,5)
print(x)
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]]
2取值操作
x1= x[1][3]
print(x1)
8
以上取法不推荐,多维矩阵切片会出现错误
x2=x[1,3]
print(x2)
8
切片
一维矩阵切片
p=np.arange(10)
p1=p[0:3] #0-2切片
print(p)
print(p1)
或
p1=p[:3] #0-2切片
[0 1 2 3 4 5 6 7 8 9]
[0 1 2]
p1=p[3:] #3-最后切片
print(p)
[3 4 5 6 7 8 9]
p1=p[:8:2] #0-7切片,步径为2
print(p1)
[0 2 4 6]
p1=p[::2]
print(p1)
[0 2 4 6 8]
二维矩阵切片
x=[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]]
取前2行前3列
p3=x[0:2,0:3]
print(p3)
或
p3=x[:2,:3]
print(p3)
[[0 1 2]
[5 6 7]]
反置矩阵
p4=x[::-1,::-1]
print(p4)
[[14 13 12 11 10]
[ 9 8 7 6 5]
[ 4 3 2 1 0]]
行列转置
p5=x.T
print(p5)
[[ 0 5 10]
[ 1 6 11]
[ 2 7 12]
[ 3 8 13]
[ 4 9 14]]