从 Numpy 数组中按索引选择元素或子数组
NumPy 数组的元素像普通数组一样被索引。第一个元素的索引为 0,最后一个元素的索引为 n-1,其中 n 是元素的总数。
从 NumPy 数组中选择单个元素
这些 ndarray 的每个元素都可以使用其索引号进行访问。
示例:以下代码显示如何访问 NumPy 数组的元素。
Python3
import numpy as np
# NumPy Array
numpyArr = np.array([1, 2, 3, 4])
print("numpyArr[0] =", numpyArr[0])
print("numpyArr[-1] =", numpyArr[-1])
Python3
import numpy as np
# NumPy Array
numpyArr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
# the slice 3:6 is passed instead
# of index
print("Sub-Array=", numpyArr[3:6])
Python3
import numpy as np
numpyArr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
# works same as 0:6
print("Sub-Array=", numpyArr[:6])
Python3
import numpy as np
numpyArr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
# same as 3:9 or 3:n, where n is
# the length of array
print("Sub-Array=", numpyArr[3:])
输出:
numpyArr[0] = 1
numpyArr[-1] = 4
在第一种情况下,我们使用它的索引号访问数组的第一个元素。在第二种情况下,我们使用负索引访问数组的最后一个元素。
从 NumPy 数组中选择子数组(切片)
为了得到一个子数组,我们传递一个切片来代替元素索引。
句法:
numpyArr[x:y]
这里 x 和 y 是所需子数组的开始和最后一个索引。
例子:
Python3
import numpy as np
# NumPy Array
numpyArr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
# the slice 3:6 is passed instead
# of index
print("Sub-Array=", numpyArr[3:6])
输出:
Sub-Array= [4 5 6]
选择了从第 3 个索引到第 6 个索引(不包括最后的第 6 个索引)的子数组。您可以通过将起始索引留空来从第一个元素开始对子数组进行切片。
示例:以下代码从第一个元素开始选择子数组。
Python3
import numpy as np
numpyArr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
# works same as 0:6
print("Sub-Array=", numpyArr[:6])
输出:
Sub-Array= [1 2 3 4 5 6]
同样,将冒号的左侧留空将为您提供一个数组,直到最后一个元素。
示例:以下代码选择从特定索引开始到最后一个索引的子数组。
Python3
import numpy as np
numpyArr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
# same as 3:9 or 3:n, where n is
# the length of array
print("Sub-Array=", numpyArr[3:])
输出:
Sub-Array= [4 5 6 7 8 9]