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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将n个字符串元素的数组过采样为m个字符串元素的数组相关的知识,希望对你有一定的参考价值。

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

例如,我们取n = 3

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

设m = 7

我在找什么?

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

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

>>> colors=['red','blue','green']
>>> np.random.choice(colors, 7)
array(['red', 'red', 'green', 'red', 'blue', 'red', 'green'], dtype='<U5')
另一答案
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)

以上是关于如何将n个字符串元素的数组过采样为m个字符串元素的数组的主要内容,如果未能解决你的问题,请参考以下文章

求算法,将N个整数分到M个数组中,要求元素和相差最小,元素个数相差最小

如何在两个排序数组的并集中找到第 k 个最小的元素?

c语言中如何修改数组中的元素

如何找到 Numpy 数组的 M 个元素的 N 个最大乘积子数组?

二叉堆的应用——查找长度为N数组中第M大数

c语言中如何获得字符串的第n个字符?