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

时间:2018-02-28 12:57:55

标签: arrays python-3.x numpy random oversampling

我想将n元素数组过采样为m个元素的数组,以便m > n

例如,让我们采取n = 3

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

设定m = 7

我在找什么?

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

2 个答案:

答案 0 :(得分:2)

np.random.choice似乎就是你要找的东西

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

答案 1 :(得分: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)