数组中的值总和-Python

时间:2018-12-07 10:55:25

标签: python arrays numpy sum

我有一个像这样的数组:

complete

我想对每个子数组求和以得到一个像这样的新数组:

   rez = array([
   array([1,2,3], dtype=object),
   array([4,5,6], dtype=object),
   array([7,8,9], dtype=object),
   ], dtype=object)

但是当我使用时:

    rez2 = array([6, 15,24])

它不起作用,因为“ rez”是一维数组(?!)。对我来说这没有任何意义;)

如何做到这一点?

2 个答案:

答案 0 :(得分:0)

如果您使用的是numpy,则可能需要如下定义数组

rez = np.array([
   np.array([1,2,3], dtype=object),
   np.array([4,5,6], dtype=object),
   np.array([7,8,9], dtype=object),
   ], dtype=object)

在此之后,您可以尝试:

rez2 = np.sum(rez,1)
print (rez2)
Out[13]: array([6, 15, 24], dtype=object)

或者:

rez2 = rez.sum(1)
print (rez2)

Out[15]: array([6, 15, 24], dtype=object)

两个选项对我来说都可以。

答案 1 :(得分:0)

import numpy as np

rez = np.array(
    [
        np.array([1, 2, 3], dtype=object),
        np.array([4, 5, 6], dtype=object),
        np.array([7, 8, 9], dtype=object),  # no need for a ',' here
    ],
    dtype=object,
)
rez2 = np.array(np.sum(rez, axis=1))

如果收到语法错误,请尝试此操作。附上我的代码和结果的屏幕截图 enter image description here