我有一些数组,我希望使用加法将它们广播到一个数组中,我知道可以简单地这样做:
a = numpy.array([1,2,3])
b = numpy.array9[4,5,6])
sum = a + b
print(sum)
[5,7,9]
字符串
然而,我不能像这个简单的例子一样硬编码,因为我会用不同数量的输入运行我的脚本很多次,所以每次都会有不同数量的数组。有时,我可能有a和b,但其他时候我可能有a,c和d,但没有b等等。
因此,我使用一个循环将我拥有的数组追加到一个列表中,这样我就得到了这样的结果:
newlist = [array([1,2,3,...5,4,3]),
array([5,7,2,...4,6,7]),
array([3,6,2,...4,5,9])]
型
什么是从'newlist'中的数组中获取单个数组的最pythonic方法,这是其中的数组的添加,这样(从newlist):
sum = [8,15,7,...14,15,19]
型
数组都是相同的形状。
3条答案
按热度按时间cvxl0en21#
坚持使用Numpy数组并使用它的
sum()
方法:字符串
当然,你也可以用Python列表来做,但它会很慢:
型
smtd7mpg2#
不需要从已有的1D数组创建2D数组。它肯定不会比将它们加在一起更快,例如使用
reduce
和np.add
:字符串
对于更大的阵列,它甚至更没有优势:
型
当然还有:
型
ivqmmu1c3#
这里是另一种方法:
字符串