首页 > 解决方案 > 生成具有重复率的 numpy 数组

问题描述

这是我的问题:我必须生成一些合成数据(如 7/8 列),相互关联(使用皮尔逊系数)。我可以很容易地做到这一点,但接下来我必须在每列中插入一定百分比的重复项(是的,皮尔逊系数会更低),每列都不同。问题是我不想亲自插入重复的内容,因为就我而言,这就像作弊一样。

有人知道如何生成已经重复的相关数据吗?我已经搜索过,但通常问题是关于删除或避免重复..

语言:python3 为了生成相关数据,我使用了这个简单的代码:Generatinrelated data

标签: pythonpython-3.xnumpypearson

解决方案


尝试这样的事情:

indices = np.random.randint(0, array.shape[0], size = int(np.ceil(percentage * array.shape[0])))

for index in indices:
  array.append(array[index])

在这里,我假设您的数据存储在array一个 ndarray 中,其中每一行包含您的 7/8 列数据。上面的代码应该创建一个随机索引数组,您选择其条目(行)并再次附加到数组中。


推荐阅读