【问题标题】:Python array operation. array plus arrayPython 数组操作。数组加数组
【发布时间】:2020-07-06 05:08:00
【问题描述】:

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

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 之间)?

【问题讨论】:

  • 你想要a.sum(axis=0)吗?
  • 完全正确。这行得通!谢谢。
  • 看起来像一个二维数组,你想要 sum 'rows',axis 0。

标签: python arrays numpy numpy-ndarray


【解决方案1】:

你正在尝试做的一个更简单的例子:

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)

【讨论】:

    猜你喜欢
    • 2017-01-27
    • 2018-11-30
    • 1970-01-01
    • 2018-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多