numpy中的任何功能都能达到这个目的吗?下面的函数f
有点尴尬
def f(l,times):
res=[]
for i in range(len(l)):
res+=[l[i]]*times[i]
return res
In [93]:f([1,2,3],[2,2,2])
Out [93]:[1, 1, 2, 2, 3, 3]
答案 0 :(得分:0)
np.repeat
就是这样做的。
例如:
In [8]: a = np.arange(4)
In [9]: b = np.array([1, 2, 1, 3])
In [10]: np.repeat(a, b)
Out[10]: array([0, 1, 1, 2, 3, 3, 3])
如果您使用> = 2维数组,则可以指定轴参数。请参阅文档here。