Skip to main content
 首页 » 编程设计

python之重复数组的不同元素不同的次数

2025年05月04日22lori

假设我有一个包含经度的数组,lonPorts

lonPort =np.loadtxt('LongPorts.txt',delimiter=',') 

例如:

lonPort=[0,1,2,3,...] 

我想将每个元素重复不同的次数。我该怎么做呢?这是我尝试过的:

Repeat =[5, 3, 2, 3,...] 
 
lonPort1=[] 
 
for i in range (0,len(lenDates)): 
   lonPort1[sum(Repeat[0:i])]=np.tile(lonPort[i],Repeat[i]) 

所以结果是:

lonPort1=[0,0,0,0,0,1,1,1,2,2,3,3,3,...] 

我得到的错误是:

list assignment index out of range 

如何消除错误并制作数组? 谢谢!

请您参考如下方法:

您可以使用 np.repeat() :

np.repeat(a, [5,3,2,3]) 

例子:

In [3]: a = np.array([0,1,2,3]) 
 
In [4]: np.repeat(a, [5,3,2,3]) 
Out[4]: array([0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 3, 3, 3])