Python Numpy sum如何将2d数组的元素相加?
假设我有一个numpy 2D数组:Python Numpy sum如何将2d数组的元素相加?,python,arrays,numpy,Python,Arrays,Numpy,假设我有一个numpy 2D数组: >>> t array([[-0.00880717, 0.02522217, -0.01014062], [-0.00866732, 0.01737254, 0.05396272]]) 现在使用数组切片,我可以从索引为1的列开始,快速获取所有行中的所有项,并将它们相加: >>> t[:, 1:].sum() 0.08641680780899146 要手动验证,请执行以下操作: >>>
>>> t
array([[-0.00880717, 0.02522217, -0.01014062],
[-0.00866732, 0.01737254, 0.05396272]])
现在使用数组切片,我可以从索引为1
的列开始,快速获取所有行中的所有项,并将它们相加:
>>> t[:, 1:].sum()
0.08641680780899146
要手动验证,请执行以下操作:
>>> 0.02522217+0.01737254+-0.01014062+0.05396272
0.08641680999999998
为了更好地理解numpy数组操作,numpy是先遍历所有行并对行中的项求和,还是先向下一列,然后再向下一列?谢谢您的提问,@TMOTTM NumPy的sum语义工作方式记录在中 总结本手册,同时介绍我自己的理解:
arr.sum()
在没有axis
参数的情况下调用,只是对数组中的所有内容求和。这是实现的最直接的语义操作arr.sum(轴=0)
将在求和时折叠轴0(第一个轴)arr.sum(axis=k)
将在执行求和时折叠axisk
0
在语义上被认为是行轴,axis1
是列轴,axis2
是深度轴,任何较高的都会进入超立方体,而超立方体不容易用文字描述
混凝土制成:
arr.sum(axis=0)
arr.sum(axis=1)
在一天结束时,第三点是你想要记住的:仔细思考你希望哪个轴崩溃,你永远不会出错 由于未指定轴,因此总和位于展平视图上方。行与列之间的距离不适用。您的值匹配8位小数,到
80
。他没有指定轴,因此点1)适用。我怀疑他对小数点后8位的差值感到烦恼。谢谢你的评论,不,一点也不介意。我不知道轴心国的概念玩时也缺席