import numpy as np
#一维数组索引切片
w1=np.arange(5)
w2=w1[1:2]#返回的是视图,改变了原数组
#数组的复制
w3=w1[-2:-1].copy()#不改变原数组
print(w1,w2,w3,sep="\n")
#多维数组索引,每一个维度都有一个索引
w4=np.arange(12).reshape(3,4)
w5=w4[0,1:2]
w6=w4[:,2]#所有行的第二列(实际的第三列)
w7=w4[-2:-1,:1]#倒数第二行的第0列元素
print(w4,w5,w6,w7,sep=" ")
#访问多维数组
print(w4[0,1],w4[(0,1),(2,3)],w4[1:2,(0,3)])
w8=np.array([1,0,1],dtype=np.bool_)#布尔数组的创建
print(w8,w4[w8,1])#访问w4第0和2行的第1列元素
#数组的运算,数组可以进行四则运算和比较运算
x=np.array([1,2,3])
y=np.array([4,5,6])
print(x+y,x**y,sep=" ")
print(x<y,x!=y,sep=" ")#返回布尔数组
z=np.zeros((3,3))
print(z,z+x,sep="\n")#不同形状数组也可以运算
p=np.where([[True,False],[False,True]],[[1,2],[3,4]],[[5,6],[7,8]])#条件逻辑,输出的四个值是1,6,7,4
print(p)
数组索引切片及运算
最新推荐文章于 2024-07-11 16:34:57 发布