gpt4 book ai didi

python - 在没有全 1 行的 numpy 中生成随机矩阵

转载 作者:太空宇宙 更新时间:2023-11-03 12:43:33 26 4
gpt4 key购买 nike

我正在生成一个随机矩阵

np.random.randint(2, size=(5, 3))

输出类似的东西

[0,1,0],
[1,0,0],
[1,1,1],
[1,0,1],
[0,0,0]

如何在每行不能包含所有 1 的条件下创建随机矩阵?即每一行可以是[1,0,0][0,0,0][1,1,0][1,0,1] 或 [0,0,1] 或 [0,1,0] [0,1,1]不能 [1,1,1]

感谢您的回答

最佳答案

这是一个有趣的方法:

rows = np.random.randint(7, size=(6, 1), dtype=np.uint8)
np.unpackbits(rows, axis=1)[:, -3:]

本质上,您为每一行选择整数 0-6,即 000-110 作为二进制。 7 将是 111(全为 1)。您只需要提取二进制数字作为列并取最后 3 位数字(您的 3 列),因为 unpackbits 的输出是 8 位数字。

输出:

array([[1, 0, 1],
[1, 0, 0],
[1, 0, 0],
[1, 0, 0],
[0, 1, 1],
[0, 0, 0]], dtype=uint8)

关于python - 在没有全 1 行的 numpy 中生成随机矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54995137/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com