Pandas如何基于多条件修改DataFrame指定单元格的值
错误原因
- 列名拼写不匹配:你数据中的字符串列名为
STRINGS,尝试的代码中误写为STRING,无法正确匹配列 - 多条件筛选语法错误:Pandas中多条件与判断需要将每个独立条件用括号包裹,再用
&连接(因为&的运算符优先级高于比较运算符,不加括号会先执行逻辑运算导致计算错误),原写法混淆了两个判断逻辑,语法不成立 - 第二个写法中使用未定义的变量
x,且布尔类型的匹配结果和数值10做大小比较属于无效逻辑
正确实现
直接运行以下代码即可得到预期结果:
df.loc[(df['STRINGS'] == 'hello') & (df['NUMBER'] > 10), 'NUMBER'] = 100
内容的提问来源于stack exchange,提问作者Bradypodion
相关产品推荐
相关产品推荐

