gpt4 book ai didi

python - 从多维 numpy 数组中选择

转载 作者:太空狗 更新时间:2023-10-30 02:13:51 24 4
gpt4 key购买 nike

我有一个形状为 (nt, nz, ny, nx) 的多维数组 a。维度是时间、z、y、x。对于每次 x 和 y,我都在形状为 (nt, ny, nx) 的新索引数组 J 中选择了适当的 z。 J 包含沿我要选择的高度维度的索引。使用 Python,我可以循环执行此操作:

b=J.copy()
for t in range(nt):
for y in range(ny):
for x in range(nx):
z=J[t,y,x]
b[t,y,x]=a[t,z,y,x]

但我想更快地执行此操作,而无需循环。这可能是微不足道的,但我无法理解它。有人吗?

最佳答案

您可以将 numpy.indices() 与高级索引一起使用:

t, y, x = numpy.indices(J.shape)
b = a[t, J, y, x]

关于python - 从多维 numpy 数组中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5701811/

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