gpt4 book ai didi

python - Numpy:从二维数组中获取随机行集

转载 作者:IT老高 更新时间:2023-10-28 12:33:05 27 4
gpt4 key购买 nike

我有一个非常大的二维数组,看起来像这样:

a=
[[a1, b1, c1],
[a2, b2, c2],
...,
[an, bn, cn]]

使用 numpy,是否有一种简单的方法可以从初始数组 a 中获取一个新的二维数组,例如 2 个随机行(无需替换)?

例如

b=
[[a4, b4, c4],
[a99, b99, c99]]

最佳答案

>>> A = np.random.randint(5, size=(10,3))
>>> A
array([[1, 3, 0],
[3, 2, 0],
[0, 2, 1],
[1, 1, 4],
[3, 2, 2],
[0, 1, 0],
[1, 3, 1],
[0, 4, 1],
[2, 4, 2],
[3, 3, 1]])
>>> idx = np.random.randint(10, size=2)
>>> idx
array([7, 6])
>>> A[idx,:]
array([[0, 4, 1],
[1, 3, 1]])

把它放在一个一般情况下:

A[np.random.randint(A.shape[0], size=2), :]

对于非替换(numpy 1.7.0+):

A[np.random.choice(A.shape[0], 2, replace=False), :]

我不相信在 1.7 之前有一种无需替换即可生成随机列表的好方法。也许您可以设置一个小定义,确保两个值不相同。

关于python - Numpy:从二维数组中获取随机行集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14262654/

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