numpy模块中索引与切片的使用
索引
ndarray
的索引其实和python
的list
的索引极为相似。元素的索引从0
开始。
import numpy as np
a = np.array([2, 15, 3, 7])
print(a[1])
# 15
b = np.array([[1, 2, 3], [4, 5, 6]])
print(b[0])
# [1 2 3]
print(b[0][1])
# 2
遍历
ndarray
的遍历方式与python
的list
的遍历方式相似。
import numpy as np
a = np.array([2, 15, 3, 7])
for element in a:
print(element)
for idx in range(len(a)):
print(a[idx])
b = np.array([[1, 2, 3], [4, 5, 6]])
for element in b.flat:
print(element)
# 将b展成一维数组后遍历并打印
for i in range(len(b)):
for j in range(len(b[0])):
print(b[i][j])
上述代码结果均为对应数组中每个元素的输出。
切片
ndarray
的切片方式与python
的list
的遍历方式相似。举例说明:
import numpy as np
a = np.array([2, 15, 3, 7])
print(a[1:])
# 将索引从1开始到最后的所有元素切片出来并打印
# [15 3 7]
print(a[-2:])
# 将从倒数第2个开始到最后的所有元素切片出来并打印
# [3 7]
print(a[::-1])
# 将所有元素倒序切片并打印
# [ 7 3 15 2]
print(a[::])
# 将所有元素正序切片并打印
# [ 2 15 3 7]
b = np.array([[1, 2, 3], [4, 5, 6]])
print(b[1:, 1:3])
# 从第二行开始按[1:3]遍历
# [[5 6]]
print(b[0:, 2:3])
#从第一行开始按[2:3]遍历
#[[3][6]]