我有两个 numpy 数组
A= array([[1,2,3,4],
[5,6,7,8],
[9,10,11,12]])
B = array([10,20,30])
我想生成数组 C:
C = array([11,12,13,14],
[25,26,27,28],
[39,40,41,42]])
我尝试了一些方法......但它们似乎效率很低。有什么方法可以有效地做到这一点吗?
这
可以在broadcasting
的帮助下完成,方法是向B
添加一个新轴(使用 None
或 np.newaxis
(,以便它们具有兼容的形状,并且B
可以在更大的数组中广播A
:
A + B[:,None]
array([[11, 12, 13, 14],
[25, 26, 27, 28],
[39, 40, 41, 42]])
请看这个例子:
ethernet_devices = [1, [7], [2], [8374163], [84302738]]
usb_devices = [1, [7], [1], [2314567], [0]]
all_devices = [x + y for x, y in zip(ethernet_devices, usb_devices)]
资料来源: https://therenegadecoder.com/code/how-to-sum-elements-of-two-lists-in-python/