我有一个看起来像这样的 numpy 数组:
h = array([string1 1
string2 1
string3 1
string4 3
string5 4
string6 2
string7 2
string8 4
string9 3
string0 2 ])
在第二列中,我想将所有出现的 1 更改为 3,所有出现的 3 更改为 2,所有出现的 4 更改为 1
显然,如果我系统地尝试就地执行,我会得到一个错误,因为:
h[,:1 == 1] = 3
h[,:1 == 3] = 2
会将所有的 1 变成 2
矩阵最多可以包含 50,000 个元素,并且要更改的值可能会有所不同
我在这里查看了一个类似的问题,但它把所有数字都变成了 0,而答案是特定的。
有没有办法同时改变所有这些事件,还是我必须找到另一种方法?