gpt4 book ai didi

python - NumPy map 计算取决于索引

转载 作者:太空宇宙 更新时间:2023-11-04 01:16:39 24 4
gpt4 key购买 nike

我有一个形状为 (Height, Width) 的 NumPy 数组。现在我想计算这个数组中存在的所有元素的值。该值是元素位置 [x,y] 的函数。

假设我想为所有元素分配值 (x**2+y**2)/2。我想在不使用 for 循环的情况下执行此操作。有没有办法做到这一点?

最佳答案

您还可以查看 meshgridmgrid 和/或 indices:

>>> H, W = 4,5
>>> x, y = np.indices([H, W])
>>> m
array([[ 0. , 0.5, 2. , 4.5, 8. ],
[ 0.5, 1. , 2.5, 5. , 8.5],
[ 2. , 2.5, 4. , 6.5, 10. ],
[ 4.5, 5. , 6.5, 9. , 12.5]])

这是有效的,因为 xy 是具有适当的 xy 坐标的数组:

>>> x
array([[0, 0, 0, 0, 0],
[1, 1, 1, 1, 1],
[2, 2, 2, 2, 2],
[3, 3, 3, 3, 3]])
>>> y
array([[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4]])

meshgridmgrid 允许更精细的控制,例如

>>> x, y = np.meshgrid(np.linspace(0, 1, 5), np.linspace(0, 10, 3))
>>> x
array([[ 0. , 0.25, 0.5 , 0.75, 1. ],
[ 0. , 0.25, 0.5 , 0.75, 1. ],
[ 0. , 0.25, 0.5 , 0.75, 1. ]])
>>> y
array([[ 0., 0., 0., 0., 0.],
[ 5., 5., 5., 5., 5.],
[ 10., 10., 10., 10., 10.]])

关于python - NumPy map 计算取决于索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24103624/

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