【发布时间】:2021-05-28 09:16:57
【问题描述】:
我想通过将另一个数组中的每个项目重复给定次数 (n) 来创建一个新的 numpy 数组。我目前正在使用 for 循环和 .extend() 使用列表来执行此操作,但这并不是很有效,尤其是对于非常大的数组。
有没有更有效的方法来做到这一点?
def expandArray(array, n):
new_array = []
for item in array:
new_array.extend([item] * n)
new_array = np.array(new_array)
return new_array
print(expandArray([1,2,3,4], 3)
[1,1,1,2,2,2,3,3,3,4,4,4]
【问题讨论】:
-
Numpy 的
repeat,正是你想要的numpy.org/doc/stable/reference/generated/numpy.repeat.html
标签: python arrays list numpy for-loop