如何 modify/update Pydatatable 条件下的列值?

How to modify/update column values on a condition in Pydatatable?

在 pydatatable 中,我正在尝试修改指定条件的列值,即 DT[i=="text", j="some"]

样本数据集:

py_DT= dt.Frame({'crossing':['ABC','A','B','B','A','A','ABC'],
                 'total' :[2,4,5,6,8,10,12]})

这里我只想用'A'替换交叉值'ABC',为此我写了下面的示例代码,

尝试 1:

py_DT[f.crossing=="ABC", f.crossing=="A"]

尝试 2:

py_DT[f.crossing=="ABC", update(f.crossing=="A")]

None个都解决了,请问还有其他办法解决吗?您能否写信告诉我如何根据上述要求更新列值?

如果我没理解错的话,您想要替换所有 'ABC' 值,对吗?在这种情况下,您可以使用 df.str.replace():

py_DT['crossing'].str.replace("ABC", "A")

这应该有效:

py_DT[f.crossing == 'ABC', f.crossing] = 'A'