gpt4 book ai didi

python - 二维数组 : row-wise operations

转载 作者:行者123 更新时间:2023-12-01 05:54:06 26 4
gpt4 key购买 nike

我有 2D numpy 数组,示例形状:

>>> a.shape
(48, 160)

我想在元素之间或每行之间进行简单的操作,例如 a[0] - a[1]但对于所有其他行的每一行。

我知道如何简单地使用for来做到这一点循环和迭代行,但我想知道是否有一些 numpy 切片特定指令,可以在不使用 for 的情况下完成此操作循环

最佳答案

你可以使用广播魔法来做到这一点。

import numpy as np
a = np.arange(12).reshape((4, 3))
b = np.arange(15).reshape((5, 3))
diff = a[np.newaxis, :, :] - b[:, np.newaxis, :]
diff.shape
# (5, 4, 3)

This是一个很好的广播教程。在本例中,我生成 a (1, 4, 3) 和 b (5, 1, 3),得到的结果为 (5, 4, 3),即 a 和 b 中每行对的差值。

关于python - 二维数组 : row-wise operations,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13295720/

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