【发布时间】:2021-04-04 12:24:45
【问题描述】:
我有这个 numpy 矩阵(ndarray)。
array([[ 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10],
[11, 12, 13, 14, 15],
[16, 17, 18, 19, 20],
[21, 22, 23, 24, 25]])
我想计算列和行的总和。
我知道这是通过分别调用来完成的
np.sum(mat, axis=0) ### column-wise sums
np.sum(mat, axis=1) ### row-wise sums
但我无法理解这两个调用。
为什么轴 0 会逐列给我总和?!
不应该反过来吗?
我认为行是轴 0,列是轴 1。
我在这里看到的行为看起来违反直觉
(但我确定没关系,我想我只是错过了一些重要的东西)。
我只是在这里寻找一些直观的解释。
提前致谢。
【问题讨论】:
-
This 可能会有所帮助。它也适用于负列 -1 和 -2
-
我尝试在 3 个角度上添加直觉 -
graphical、physical和logical解释 numpy 数组、轴和轴上的缩减。希望这些可以帮助各种 SO 用户建立直觉,包括 OP。 -
对于 1d 或 3d,歧义更少。很容易看出
axis是被淘汰的那个,而不是剩下的那个。