gpt4 book ai didi

numpy-ndarray - 如何将索引相关函数应用于 numpy ndarray?

转载 作者:行者123 更新时间:2023-12-02 19:40:40 30 4
gpt4 key购买 nike

因此 numpy ndarray 非常方便,因为您只需为任何一维函数 f 和任何 ndarray A 输入 f(A) 即可,它将按元素应用 f。有人告诉我,这也是将函数应用于 ndarray 并避免 for 循环的一种非常有效的方法。我被告知要避免 for 循环。

事实证明,现在我需要应用一个函数 f(A),它不仅仅是一维的,而且需要了解每个元素的索引元组,以便为​​每个元素返回正确的值。在这种情况下,有没有办法避免使用 for 循环或显式递归,并继续在 ndarray 上使用直接函数应用程序?还是我别无选择?

最佳答案

使用numpy.meshgrid生成与数组中每个元素的索引元组对应的坐标矩阵。然后让你的函数也依赖于这些坐标。

例如a是一个三维数组。

x, y, z = np.meshgrid(np.arange(a.shape[0]), np.arange(a.shape[1]), np.arange(a.shape[2]), indexing='ij')

给出三个数组x, y, z,其中包含每个位置的x、y和z坐标。然后,通过给出索引数组来扩展数组 a 上的函数。

f(a, x, y, z)

请注意索引/方向的顺序。检查索引选项。

关于numpy-ndarray - 如何将索引相关函数应用于 numpy ndarray?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51841758/

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