繁体   English   中英

numpy 数组中的重复行

[英]Repeated rows in a numpy array

我觉得我快要疯了,因为我无法弄清楚什么感觉应该是一个简单的问题。 我想在 numpy 数组中生成假数据,但我不知道如何重复一行观察。 我宁愿生成数千行,但我不知道如何在我想的时候重复一行。

例如,这是我当前的代码:

voters = np.array(
    [
        ['Democrat', 'Republican', 'Third'],
        ['Democrat', 'Republican', 'Third'],
        ['Democrat', 'Republican', 'Third'],
        ['Democrat', 'Republican', 'Third'],
        ['Democrat', 'Republican', 'Third'],
        ['Democrat', 'Third', 'Republican'],
        ['Democrat', 'Third', 'Republican'],
        ['Democrat', 'Third', 'Republican'],
        ['Democrat', 'Third', 'Republican'],
    ]
)

但我只是想能够浓缩这个。 以这种方式制作大型数据集显然是不可管理的!

谢谢

使用np.repeat()

voters = np.array([['row1', 'row1', 'row1'],
                   ['row2', 'row2', 'row2']])

# We repeat 2 times the first row and 4 times the second row.
np.repeat(voters,[2,4],axis=0)
# voters.repeat([2,4],axis=0) produce the same result.

我们得到:

array([['row1', 'row1', 'row1'],
       ['row1', 'row1', 'row1'],
       ['row2', 'row2', 'row2'],
       ['row2', 'row2', 'row2'],
       ['row2', 'row2', 'row2'],
       ['row2', 'row2', 'row2']])

你可以使用这个:

np.array([['Democrat', 'Republican', 'Third']]* 10000)

根据需要生成尽可能多的重复行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM