#创建二维数组
x=np.array([
[1,2],
[3,4],
[5,6]
])
#[0,1,2]代表行索引,[0,1,0]代表列索引
y=x[[0,1,2],[0,1,0]]
#y分别获取x中的(0,0),(1,1),(2,0)的数据
y
#获取4*3数组中的四个角上元素
b=np.array([
[0,1,2],
[3,4,5],
[6,7,8],
[9,10,11]
])
a=b[[0,0,3,3],[0,2,0,2]]
#这里r的结果是[0,0,3,3],l的结果是[0,2,0,2]
r=np.array([[0,0],[3,3]]).reshape(4)
l=np.array([[0,2],[0,2]]).reshape(4)
#这里b[r,1]就是b[[0,0,3,3],[0,2,0,2]]
s=b[r,1].reshape(2,2)
s
a=np.array([
[1,2,3],
[4,5,6],
[7,8,9]
])
#行取得2行和3行,列取得2列和3列
b=a[1:3,1:3]
#1:3!=[1,2]
print(b)
c=a[[1,2],[1,2]]
print(c)
#先创建一个全0的二维数组
z=np.zeros((8,8),dtype=int)
#1::2指的是把第二行,第四行..变成1;::2指的是把第一列,第三列变成1,合起来取相交的位置变成1
z[1::2,::2]=1
#类似
z[::2,1::2]=1
print(z)
2布尔索引:
3.数组索引及切片的值更改会修改原数组