一维数组索引
数组[数组位置-1]
import numpy as np
A=np.arange(3,15)
print(A)
print(A[3])#一维数组索引第x+1个元素
多维数组索引
多维数组元素索引:
数组[行坐标-1][列坐标-1]
数组[行坐标-1,列坐标-1]
A1=np.arange(3,15).reshape((3,4))
print(A1)
print("=======================")
print(A1[0][3])#多维数组的索引行列后的为第x+1行第y+1列元素
print(A1[0,3])
结果:
[[ 3 4 5 6]
[ 7 8 9 10]
[11 12 13 14]]
=======================
6
6
多维数组整行索引:
数组[行坐标-1]
数组[行坐标-1,:]
A1=np.arange(3,15).reshape((3,4))
print(A1)
print("=======================")
print(A1[2])#多维数组索引的第x+1行的结果
print(A1[2,:])#多维数组第x+1行所有数
结果:
[11 12 13 14]
[11 12 13 14]
多维数组整列索引:
数组[:,列坐标-1]
A1=np.arange(3,15).reshape((3,4))
print(A1)
print("=======================")
print(A1[:,1])#多维数组第y+1列所有数
print(A1[1,1:2])#多维数组第x+1行从y1+1到y2+1的所有数(左闭右开)
print(A1[1,1:3])
结果:
[ 4 8 12]
多维数组行或列某段的索引:
数组[开始行坐标-1:结束行坐标-1,列坐标-1]
数组[行坐标-1,开始列坐标-1:结束列坐标-1]
A1=np.arange(3,15).reshape((3,4))
print(A1)
print("=======================")
print(A1[1,1:2])#多维数组第x+1行从y1+1到y2+1的所有数(左闭右开)
print(A1[1,1:3])
print(A1[0:2,2])
结果:
[8]
[8 9]
[5 9]
遍历数组
以行遍历
for row in A1:#row是行
print(row)
结果:
[3 4 5 6]
[ 7 8 9 10]
[11 12 13 14]
以列遍历
利用矩阵的转置遍历每一列
for column in A1.T: #column列
print(column)
结果:
[ 3 7 11]
[ 4 8 12]
[ 5 9 13]
[ 6 10 14]
展开遍历每个元素
利用flatten()或reshape(-1)或ravel()把矩阵展开成一维数组再进行遍历
print(A1.flatten())#flatten()是把矩阵展平成一维数组
for item in A1.flat:#A.flat返回的是迭代器iterator
print(item)
print("===========================")
for item1 in A1.flatten():
print(item1)
print("===========================")
print(A1.reshape(-1))
for item2 in A1.reshape(-1):
print(item2)
print("===========================")
print(A1.ravel())
for item3 in A1.ravel():
print(item3)
结果:
[ 3 4 5 6 7 8 9 10 11 12 13 14]
3
4
5
6
7
8
9
10
11
12
13
14
===========================
3
4
5
6
7
8
9
10
11
12
13
14
===========================
[ 3 4 5 6 7 8 9 10 11 12 13 14]
3
4
5
6
7
8
9
10
11
12
13
14
===========================
[ 3 4 5 6 7 8 9 10 11 12 13 14]
3
4
5
6
7
8
9
10
11
12
13
14