我知道这个问题已经做过很多次了,但是我找不到这个特定问题的答案。我有一个numpy多维数组,想更改每一行随机选择的列的值的相等百分比。
我找不到摆脱这种循环的方法。
rng = np.random.default_rng()
y = np.full((6, 10), 8)
index0 = np.repeat(np.arange(6), 6)
index1 = rng.choice(10, size=6, replace=False)
for i in range(5):
index1=np.concatenate((index1, rng.choice(10, size=6, replace=False)), axis=-1)
y[index0, index1]=10
我可以尝试使用列表理解功能,但是不确定这是否是我想要的。相反,我实际上是在寻找一个numpy函数,该函数将从每一行中随机选择预定数目的列,并允许我更改该值。
对那些尝试过的人很抱歉,我确实忘记了在连接索引1之前先复制它。