gpt4 book ai didi

python - 用其他数组切片 numpy 数组

转载 作者:太空宇宙 更新时间:2023-11-03 15:22:15 24 4
gpt4 key购买 nike

我正在尝试提取由 x 中包含的一组索引指定的 numpy 数组 y 的子集,同时仍保留 y< 的一些索引免费。举个具体的例子。设 y 的形状为 (10,10,10,3)x 的形状为 (7,7,3)x 的最后一个维度对应于 y 的前三个维度的索引信息。也就是说,我想要一个高效的切片操作,其结果与此相同:

for i in x.shape[0]:
for j in x.shape[1]:
z[i,j,:] = y[x[i,j,0],x[i,j,1],x[i,j,2],:]

理想情况下,无论 x 的维数如何,答案都有效。

一般来说,yN+1 维,形状为 (...,N),而 x 将是 Q+1 维,形状为 (...,N),结果将具有与 x< 相同的形状.

这样做的动机是从向量场中提取向量子集。

最佳答案

这应该工作得相当好:

y[x[..., 0], x[..., 1], x[..., 2]]

一般来说:

y[tuple(np.rollaxis(x, -1))]

关于python - 用其他数组切片 numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13289336/

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