如何将n个字符串元素的数组过采样为m个字符串元素的数组

问题描述 投票:0回答:2

我想将一个n元素数组过采样成m个元素的数组,使得m > n

例如,我们取n = 3

colors=['red','blue','green']

设m = 7

我在找什么?

 oversampled_colors=['green','blue','red','red','blue','green','blue']
arrays python-3.x numpy random oversampling
2个回答
2
投票

np.random.choice似乎是你正在寻找的

>>> colors=['red','blue','green']
>>> np.random.choice(colors, 7)
array(['red', 'red', 'green', 'red', 'blue', 'red', 'green'], dtype='<U5')

0
投票
import random
def fun(colors,n,m):
  colors1=[]
  while(len(colors1)<n):
      colors1.append(colors[random.randint(0,m-1)])
  return colors1
colors=['red','blue','green']
oversampled_colors=fun(colors,7,len(colors))
print(oversampled_colors)
© www.soinside.com 2019 - 2024. All rights reserved.