在NumPy中,可以使用整数数组或布尔数组对基于2D数组的3D数组进行索引。下面是两种常见的方法:
arr
和一个3D数组arr_3d
,可以使用以下代码对其进行索引:import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
arr_3d = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
# 选择第一个2D数组的第一行和第二行
rows = np.array([0, 1])
# 选择第一个2D数组的第一列和第三列
cols = np.array([0, 2])
# 使用整数数组索引对3D数组进行索引
result = arr_3d[rows[:, np.newaxis], rows, cols]
print(result)
输出结果为:
[[[1 3]
[4 6]]
[[7 9]
[10 12]]]
True
表示选择对应位置的元素,False
表示不选择。例如,假设有一个2D数组arr
和一个3D数组arr_3d
,可以使用以下代码对其进行索引:import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
arr_3d = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
# 创建一个与3D数组形状相同的布尔数组
mask = np.array([[True, False], [False, True]])
# 使用布尔数组索引对3D数组进行索引
result = arr_3d[mask]
print(result)
输出结果为:
[1 4 11]
这里的输出结果是一个一维数组,它包含了布尔数组中为True
的位置对应的元素。
以上是在NumPy中对基于2D数组的3D数组进行索引的两种常见方法。在实际应用中,可以根据具体的需求选择合适的方法进行索引操作。
关于NumPy的更多信息和使用方法,可以参考腾讯云的产品介绍页面:NumPy产品介绍。
Elastic 中国开发者大会
DB TALK 技术分享会
GAME-TECH
云+社区技术沙龙[第9期]
云+社区技术沙龙[第17期]
云+社区技术沙龙[第8期]
云+社区技术沙龙 [第31期]
云+社区技术沙龙[第6期]
Elastic 中国开发者大会
领取专属 10元无门槛券
手把手带您无忧上云