gpt4 book ai didi

python - 在numpy中选择一个元素

转载 作者:太空宇宙 更新时间:2023-11-04 01:47:02 33 4
gpt4 key购买 nike

a = np.arange(4).reshape(2, 2)
a
[[0, 1]
[2, 3]]
a[ a==[0, 1] ][0] = 1

期望 a = [[1, 1], [2, 3]] 但 'a' 没有改变。这个问题的根源是什么。谢谢

最佳答案

这里的问题是您试图分配给数组的副本,而不是 View ,因此 ndarray 保持不变。

一种方法是使用 np.where :

replace_with = np.vstack([np.ones(a.shape[0]), a[:,1]])
np.where((a==[0,1]).all(1)[:,None], replace_with, a)

array([[1., 1.],
[2., 3.]])

这里的 replace_with 是一个 ndarray ,第一列是 ones,第二列是 a 的内容,因为它看起来像那样是你想要做的:

print(replace_with)

array([[1., 1.],
[1., 3.]])

关于python - 在numpy中选择一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58877476/

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