将数组数组转换为数字数组

时间:2014-10-10 15:36:16

标签: python numpy repeat

我有一系列值和一系列重复次数

>>> x=np.arange(5)
>>> x
array([0, 1, 2, 3, 4])
>>> n=np.random.randint(1,3,5)
>>> n
array([2, 1, 1, 2, 2])

我做了

>>> y=np.array([np.repeat(x[i],n[i]) for i in range(5)])
>>> y
array([array([0, 0]), array([1]), array([2]), array([3, 3]), array([4, 4])], dtype=object)   

但我希望我的结果是数组([0,0,1,2,3,3,4,4])。 我该怎么办?

1 个答案:

答案 0 :(得分:2)

我认为这比你更简单(docs)

>>> x = np.arange(5)
>>> y = np.array([2, 1, 1, 2, 2])
>>> np.repeat(x,y)
array([0, 0, 1, 2, 3, 3, 4, 4])