gpt4 book ai didi

python - 在不循环的情况下访问 3D numpy 数组中的多列

转载 作者:行者123 更新时间:2023-12-04 08:50:38 24 4
gpt4 key购买 nike

我有一个大型 3D 阵列 A带形状(N, M, L) .
我有一个列的坐标列表,我想访问存储在二维数组中 B :

[[i1 j1]
[i2 j2]
[i3 j3]
.... ]
我有一些工作正常但涉及循环的东西 B并访问 A多次。有没有办法使用切片或其他方法来避免这种情况?
到目前为止我的代码:
data_out = []
for p in B:
i, j = p
col = A[:, i, j]
data_out.append(col)

最佳答案

使用花哨的索引:

A[(slice(None), *B.T)].T
使用星型扩展需要显式括号,这意味着您必须写出 :明确为 slice(None) .你也可以这样做
A[:, B[:, 0], B[:, 1]].T

关于python - 在不循环的情况下访问 3D numpy 数组中的多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64119207/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com