如果我有一个看起来像 ar 的数组,它是一个 numpy 数组?如何使用 numpy mask 将所有“replaceme”替换为 2012。
ar = [['replaceme', 1,2], ['replaceme', 3,4],['replaceme', 5,6]]
ar = [[2012, 1,2], [2012, 3,4],[2012, 5,6]]
最佳答案
这不是面具的工作advanced indexing :
>>> import numpy as np
>>> ar = np.array([['replaceme', 1,2], ['replaceme', 3,4],['replaceme', 5,6]], dtype=object)
>>> ar
array([[replaceme, 1, 2],
[replaceme, 3, 4],
[replaceme, 5, 6]], dtype=object)
>>> ar == "replaceme"
array([[ True, False, False],
[ True, False, False],
[ True, False, False]], dtype=bool)
所以我们需要做的就是:
>>> ar[ar == "replaceme"] = 2012
>>> ar
array([[2012, 1, 2],
[2012, 3, 4],
[2012, 5, 6]], dtype=object)
关于python - 使用掩码替换numpy中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14095752/