通过使用NumPy的切片功能,可以通过不同的索引值一次选择多个3D NumPy数组的不同列。
假设我们有一个名为arr的3D NumPy数组,形状为(m, n, p),其中m表示数组的行数,n表示数组的列数,p表示数组的深度。我们想要选择不同的列,可以使用以下语法:
selected_cols = arr[:, selected_indices, :]
其中,selected_indices是一个包含所选列索引的列表或数组。这将返回一个新的3D NumPy数组,其中包含原始数组arr中所选列的数据。
下面是对该方法的解释和示例:
示例代码:
import numpy as np
# 创建一个3D NumPy数组
arr = np.array([[[1, 2, 3], [4, 5, 6], [7, 8, 9]],
[[10, 11, 12], [13, 14, 15], [16, 17, 18]],
[[19, 20, 21], [22, 23, 24], [25, 26, 27]]])
# 选择第1列和第3列
selected_cols = arr[:, [0, 2], :]
print(selected_cols)
输出结果:
[[[ 1 2 3]
[ 7 8 9]]
[[10 11 12]
[16 17 18]]
[[19 20 21]
[25 26 27]]]
在上面的示例中,我们创建了一个3D NumPy数组arr,并选择了第1列和第3列。最终输出的selected_cols是一个新的3D NumPy数组,其中包含了原始数组arr中所选列的数据。
领取专属 10元无门槛券
手把手带您无忧上云