根据包含布尔值的另一列更改 Pandas Dataframe 中的列的值(Pycharm 弱警告)

问题描述 投票:0回答:1

我有一个 Pandas Dataframe,如果另一列中的布尔值为 True,我想更改列中的值。

我的代码可以工作,但 PyCharm 给了我一个关于使用双引号将列值与布尔值进行比较的弱警告。

df.loc[df["boolColumn"] == True, "responseColumn"] = "Yes"

我收到一条微弱的警告:

PEP 8: E712 comparison to True should be 'if cond is True:' or 'if cond:'

我将条件更改为

df.loc[df["boolColumn"] is True, "responseColumn"] = "Yes"

这消除了 Pycharm 中的警告,但是当我运行代码时,我收到一条错误消息:

KeyError: 'cannot use a single bool to index into setitem'

我知道我的原始代码可以工作,但我想知道我的编码方式是否不正确,是否有正确的方法来做我想做的事情。

谢谢你。

python pandas pycharm warnings
1个回答
0
投票

您可以用

==
 方法替换 
eq
运算符:

df.loc[df["boolColumn"].eq(True), "responseColumn"] = "Yes"
© www.soinside.com 2019 - 2024. All rights reserved.