选择数据
import numpy as np
m=np.random.random((3,3))
print(m)
print(m[0],m[1][1],sep='\n')
print(m[1,1])
print(m[1,:])
print(m[:,1])
结果:
[[0.2596057 0.04739926 0.76332494]
[0.86503227 0.29048997 0.79591841]
[0.5053528 0.20182234 0.19601046]]
[0.2596057 0.04739926 0.76332494]
0.2904899730053482
0.2904899730053482
[0.86503227 0.29048997 0.79591841]
[0.04739926 0.29048997 0.20182234]
请按任意键继续. . .
numpy中的选择数据和c语言数组中较为相似。
m[0[ 表示第0行(索引从0开始)
m[1][1]和m[1,1]表示同样的意思,均指第1行第一列的元素
m[1,:]和m[1]意思相同
选择所有元素:
import numpy as np
m=np.random.random((3,3))
print(m.flatten())
结果为m中的所有元素,且返回为一维数组。
合并
合并指将两个矩阵或数组合成为一个矩阵或数组。
纵向合并和横向合并
vstack和hstack
import numpy as np
m=np.array([[1,1,1]])
z=np.vstack((m,m))
h=np.hstack((m,m))
print(z,h,sep='\n')
结果:
[[1 1 1]
[1 1 1]]
[[1 1 1 1 1 1]]
请按任意键继续. . .
vtack表示纵向合并(vertical),hstack表示横向合并(h横拼音记忆,高手可以英语记忆horizontal)
concatenate
还可以利用concatenate去合并
import numpy as np
m=np.array([[1,1,1]])
z=np.concatenate((m,m),axis=0)
h=np.concatenate((m,m),axis=1)
print(z,h,sep='\n')
结果同上,两种方法均可以实现合并。大家根据喜好自行选择。