假设
由于我需要多次执行此操作,因此希望尽可能快地完成。我使用Python和numpy,并且数组被定义为numpy.ndarray。我搜索了一下,发现了可以很好地用于将每个元素重复
其中一种方法是:
a = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6]
并且 s = [3, 3, 9, 3, 6, 3]
。我想要寻找一种最佳的方法,用s[i]
精确重复a[i]
次,然后将其扁平化为形式为b = [0.1, 0.1, 0.1, 0.2, 0.2, 0.2, 0.3, 0.3, 0.3, 0.3, ... ]
的数组。由于我需要多次执行此操作,因此希望尽可能快地完成。我使用Python和numpy,并且数组被定义为numpy.ndarray。我搜索了一下,发现了可以很好地用于将每个元素重复
n
次的repeat
、tile
和column_stack
,但我希望对它们每个都进行不同的重复。其中一种方法是:
a = hsplit(a, 6)
for i in range(len(a)):
a[i] = repeat(a[i], s[i])
a = a.flatten()
我在想是否有更好的方法来做这件事。
np.repeat?
吗? - Mazdaknp.repeat
!!! 请注意你的问题验证和清晰 !!! - Mazdak