0

l 想将一个元素数组过采样n到一个由 m 个元素组成的数组中,这样m > n.

例如让我们取 n=3

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

设置 m =7

我在找什么?

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

2 回答 2

2

np.random.choice似乎是你要找的

>>> colors=['red','blue','green']
>>> np.random.choice(colors, 7)
array(['red', 'red', 'green', 'red', 'blue', 'red', 'green'], dtype='<U5')
于 2018-02-28T13:04:14.107 回答
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)
于 2018-02-28T13:03:13.740 回答