Python数组操作。数组加数组

时间:2020-07-06 05:08:00

标签: python arrays numpy numpy-ndarray

我有一个看起来像这样的列表数组

a = array([[0.        , 0.        , 0.        , 0.        , 0.        ,
    0.        , 0.        , 0.        , 0.        , 0.        ,
    0.        , 0.        , 0.        , 0.        , 0.        ,
    0.        , 0.        , 0.75612063, 0.        , 0.        ,
    0.        , 0.        , 0.        , 0.        , 0.        ,
    0.        , 0.        , 0.        , 0.        , 0.        ,
    0.        , 0.        , 0.        , 0.        , 0.        ,
    0.        , 0.        , 0.        , 0.        , 0.        ,
    0.65443227, 0.        , 0.        , 0.        , 0.        ,
    0.        , 0.        , 0.        , 0.        , 0.        ,
    0.        , 0.        , 0.        , 0.        , 0.        ,
    0.        , 0.        , 0.        , 0.        , 0.        ,
    0.        , 0.        ],
   [0.        , 0.        , 0.        , 0.        , 0.        ,
    0.        , 0.        , 0.        , 0.        , 0.        ,
    0.        , 0.        , 0.        , 0.        , 0.        ,
    0.        , 0.        , 0.        , 0.        , 0.        ,
    0.        , 0.        , 0.        , 0.        , 0.        ,
    0.        , 0.        , 0.        , 0.        , 0.        ,
    0.        , 0.        , 0.        , 0.        , 0.        ,
    0.        , 0.        , 0.        , 0.        , 0.        ,
    0.70710678, 0.        , 0.        , 0.        , 0.        ,
    0.        , 0.        , 0.        , 0.        , 0.        ,
    0.        , 0.        , 0.        , 0.        , 0.        ,
    0.        , 0.        , 0.        , 0.        , 0.        ,
    0.        , 0.70710678]])

我想做的就是得到这两个数组的和,如下所示:

output = array([0.        , 0.        , 0.        , 0.        , 0.        ,
   0.        , 0.        , 0.        , 0.        , 0.        ,
   0.        , 0.        , 0.        , 0.        , 0.        ,
   0.        , 0.        , 0.75612063, 0.        , 0.        ,
   0.        , 0.        , 0.        , 0.        , 0.        ,
   0.        , 0.        , 0.        , 0.        , 0.        ,
   0.        , 0.        , 0.        , 0.        , 0.        ,
   0.        , 0.        , 0.        , 0.        , 0.        ,
   1.36153905, 0.        , 0.        , 0.        , 0.        ,
   0.        , 0.        , 0.        , 0.        , 0.        ,
   0.        , 0.        , 0.        , 0.        , 0.        ,
   0.        , 0.        , 0.        , 0.        , 0.        ,
   0.        , 0.70710678])

我可以做a [0] + a [1] 但是,当“ a”包含许多列表时,这样做很乏味。是否具有将多个相同长度的数组中的所有值相加的函数? 然后在全部加完之后对值进行归一化(以使值在0到1之间)?

1 个答案:

答案 0 :(得分:0)

您要尝试做的一个简单示例:

In [331]: a = np.array([[0,0,1,0],[2,0,1,0]])                                           
In [332]: a                                                                             
Out[332]: 
array([[0, 0, 1, 0],
       [2, 0, 1, 0]])
In [333]: a.sum(axis=0)                                                                 
Out[333]: array([2, 0, 2, 0])
In [334]: a.shape                                                                       
Out[334]: (2, 4)