Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Numpy sum如何将2d数组的元素相加?_Python_Arrays_Numpy - Fatal编程技术网

Python Numpy sum如何将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 要手动验证,请执行以下操作: >>>

假设我有一个numpy 2D数组:

>>> 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)
    将在执行求和时折叠axis
    k
  • 通常,axis
    0
    在语义上被认为是行轴,axis
    1
    是列轴,axis
    2
    是深度轴,任何较高的都会进入超立方体,而超立方体不容易用文字描述

    混凝土制成:

  • 在二维数组中,要折叠行(即按列求和),请执行
    arr.sum(axis=0)
  • 在二维数组中,要折叠列(即按行求和),请执行
    arr.sum(axis=1)

  • 在一天结束时,第三点是你想要记住的:仔细思考你希望哪个轴崩溃,你永远不会出错

    由于未指定轴,因此总和位于展平视图上方。行与列之间的距离不适用。您的值匹配8位小数,到
    80
    。他没有指定轴,因此点1)适用。我怀疑他对小数点后8位的差值感到烦恼。谢谢你的评论,不,一点也不介意。我不知道轴心国的概念玩时也缺席