叫我学弟 2020-06-15 13:16 采纳率: 0%
浏览 291

numpy建一个随机矩阵,如何让矩阵每行他自己是指定列表的不重复随机抽样?而不是整个矩阵是指定列表的不重复随机抽样。

有个列表,里面有30个1和60个0,
x = [1] * 30 + [0] * 60

现需要生成一个10000*90的矩阵,矩阵每行均为列表x的随机抽样。

尝试过numpy.random.choice方法,将replace参数改为True,但这种是整个矩阵为列表x的随机抽样,
此时就报错了,因为列表是90个元素,不重复抽样最多抽出90个,而矩阵有90万个数。

怎样才能实现矩阵每行他自己是列表x的随机抽样呢?求大佬解答。

  • 写回答

1条回答 默认 最新

  • Hubans 2020-06-15 13:47
    关注

    对10000*90的矩阵,每一行单独随机排序,然后整合成一个矩阵

    import random
    x = [1] * 30 + [0] * 60
    data = []
    for i in range(10000):
        y = x
        random.shuffle(y)
        data.append([y])
    print(data)
    
    评论

报告相同问题?