在二维数组的第二个维度上添加一个1D(维度不匹配)

问题描述 投票:0回答:1

我想使用如下代码中的逻辑沿二维数组的第二个维度将一维数组添加到二维数组。

import numpy as np
TwoDArray = np.random.randint(0, 10, size=(10000, 50))
OneDArray = np.random.randint(0, 10, size=(2000))
Sum = np.array([(TwoDArray+element).sum(axis=1) for element in OneDArray]).T
print(Sum.shape)
>> (10000, 2000)

这个列表理解速度非常慢。 最快的方法是什么? (我想用数组计算)。

python arrays numpy multidimensional-array
1个回答
0
投票

Change - Sum = np.array([(TwoDArray+element).sum(axis=1) for element in OneDArray]).T

import numpy as np

TwoDArray = np.random.randint(0, 10, size=(10000, 50))
OneDArray = np.random.randint(0, 10, size=(2000))

Sum = TwoDArray.dot(np.ones((50, 2000))) + OneDArray

print(Sum.shape)
© www.soinside.com 2019 - 2024. All rights reserved.