Python:如何用x重复n次填充数组?

时间:2018-04-10 16:40:22

标签: python arrays loops numpy

我尝试生成一系列x并重复n次:

import numpy as np
​
x = [1,2,3,4]
n = [1,2,3,4]
​
data = []
​
for i,j in zip(x, n):
        data.append(np.repeat(i,j))

print(data)

输出:

[array([1]), array([2, 2]), array([3, 3, 3]), array([4, 4, 4, 4])]

我想要一个"清洁"数组如:

array([1,2,2,3,3,3,4,4,4,4])

如果有人能指出我的解决方案,那么非常感谢!

2 个答案:

答案 0 :(得分:1)

您可以使用np.concatenate沿轴(此处为第一轴)连接数组列表。

data = np.concatenate(data)

做你想做的事。

答案 1 :(得分:0)

这可以使用np.concatenate

使用简单的单线程来完成
data = np.concatenate([np.repeat(i, j) for i, j in zip(x, n)])