如何在Pydatatable中基于条件修改/更新列值?

2024-06-17 17:42:38 发布

您现在位置:Python中文网/ 问答频道 /正文

在pydatatable中,我试图修改一个列值,该列值在I.eDT[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")]

这些尝试都没有成功,还有别的办法解决吗?请写信告诉我如何根据上述要求更新列值好吗?你知道吗


Tags: textpydtsome条件frame交叉total
2条回答

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

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

这应该起作用:

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

相关问题 更多 >