numpy数组是否可以拥有numpy数组本身的元素?

时间:2018-02-28 21:45:17

标签: python arrays python-3.x numpy

我对python不太熟悉所以我提前道歉。是否有可能拥有像numpy.array([a, b, c])这样的numpy数组,并将该数组作为元素添加到空的numpy数组中?

假设这是可能的,那么可以在主numpy数组中对多个数组的每个元素的第一个值求和。例如,

numpy.array([numpy.array([a,b,c]), numpy.array([d,e,f])])

然后成为

numpy.array([a + d, b + e, c + f])

我希望我能够清楚地解释一下,如果不确定,请随意请我扩展。

非常感谢: - )

2 个答案:

答案 0 :(得分:0)

数组的数组本质上就是矩阵,所以我只做一个n维的numpy数组。这样你就可以在给定的方向上按元素加总。

import numpy as np
x = np.array([[1, 2, 3], [4, 5, 6]], np.int32) # 2x3 matrix

通常你会想要遍历索引但是对于你的例子来说,单独进行求和会更有意义:)

a_plus_d = sum(x[:,0]) # sum first column
b_plus_e = sum(x[:,1]) # sum second column
c_plus_f = sum(x[:,2]) # sum third column

答案 1 :(得分:0)

2个1d阵列:

In [79]: x1=np.array([1,2,3])
In [80]: x2=np.array([4,5,6])

制作新阵列 - 2d,有2行

In [81]: x12 = np.array((x1,x2))
In [82]: x12
Out[82]: 
array([[1, 2, 3],
       [4, 5, 6]])

np.array([[1,2,3],[4,5,6]])做同样的事情。

可以逐个元素地对数组求和:

In [83]: x1 + x2
Out[83]: array([5, 7, 9])

2d数组的行也可以求和:

In [84]: x12.sum(axis=0)
Out[84]: array([5, 7, 9])