有没有一个numpy函数可以对一个数组 * 沿着 *(而不是超过)一个给定的轴求和?通过沿着一个轴,我的意思是等价于:
[x.sum() for x in arr.swapaxes(0,i)].
字符串
沿沿着 * 轴i求和 *。
例如,numpy.sum不能直接工作的情况:
>>> a = np.arange(12).reshape((3,2,2))
>>> a
array([[[ 0, 1],
[ 2, 3]],
[[ 4, 5],
[ 6, 7]],
[[ 8, 9],
[10, 11]]])
>>> [x.sum() for x in a] # sum along axis 0
[6, 22, 38]
>>> a.sum(axis=0)
array([[12, 15],
[18, 21]])
>>> a.sum(axis=1)
array([[ 2, 4],
[10, 12],
[18, 20]])
>>> a.sum(axis=2)
array([[ 1, 5],
[ 9, 13],
[17, 21]])
型
5条答案
按热度按时间aelbi1ox1#
你可以只传递一个包含你想要求和的轴的元组,而忽略你想要“求和”的轴:
字符串
xkftehaa2#
从numpy 1.7.1开始,这里有一个更简单的答案-你可以将一个元组传递给sum方法的“axis”参数,以在多个轴上求和。因此,除了给定的轴之外,对所有轴求和:
字符串
nafvub8i3#
打两次电话给萨姆?
字符串
当然,这样概括起来会有点尴尬,因为坐标轴“消失”了。你需要它是通用的吗?
型
c9qzyr3d4#
字符串
yshpjwxd5#
字符串