You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Boolean indexing修改Pandas DataFrame数值无效果该如何解决?

问题原因
  • 运算符优先级错误:Python 中位运算符&的优先级高于比较运算符>,你编写的筛选条件没有给df['FiscalPeriod'] >1单独加括号,实际执行时会先计算(df['VendorAccount'] == 729616) & df['FiscalPeriod'],再将运算结果和1做大小比较,最终得到的筛选结果全为False,没有匹配到任何需要修改的行,因此数据集没有变化。
  • 链式索引潜在问题:你使用的df['LCC'][筛选条件]属于链式索引写法,pandas可能返回数据的副本而非原数据的视图,修改副本不会作用到原数据集,还会触发SettingWithCopyWarning警告。
正确实现代码
df.loc[(df['VendorAccount'] == 729616) & (df['FiscalPeriod'] > 1), 'LCC'] = True

上述写法使用loc直接操作原数据的视图,同时给两个筛选条件分别加括号,确保逻辑运算顺序符合预期,即可得到你想要的修改结果。

内容的提问来源于stack exchange,提问作者FH_Mad_SWF

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 19:06:07