熊猫中的条件问题

哈维尔

我有这个df

          CODE      DATE    MONTH_DAY  PPTOT   SECTOR_1
0       472606FA 2001-01-01   01-01    0.0         SN
1       472606FA 2001-01-02   01-02    0.0         SN
2       472606FA 2001-01-03   01-03    0.7         SN
3       472606FA 2001-01-04   01-04    NaN         SN
4       472606FA 2001-01-05   01-05    NaN         SN
         ...        ...     ...    ...        ...
248220  47E2A75C 2021-04-26   04-26    0.0         SI
248221  47E2A75C 2021-04-27   04-27    0.0         SI
248222  47E2A75C 2021-04-28   04-28    0.0         SI
248223  47E2A75C 2021-04-29   04-29    0.0         SI
248224  47E2A75C 2021-04-30   04-30    NaN         SI

[248225 rows x 5 columns]

我想应用 2 个条件。df['PPTOT'] <= 0df['SECTOR_1']=='CS'df['PPTOT']必须是np.nan所以我做了这个代码:

df.loc[(df['PPTOT'] <= 0 & df['SECTOR_1']=='CS'), 'PPTOT'] = np.nan

但我收到此错误:

TypeError: unsupported operand type(s) for &: 'bool' and 'str'

所以我只写了这样的括号df['PPTOT'] <= 0

df.loc[(df['PPTOT'] <= 0) & df['SECTOR_1']=='CS', 'PPTOT'] = np.nan

但我又得到另一个错误:

ValueError: unknown type str64 

我该如何解决这个问题?或者也许有另一种有效或准确的方法来做到这一点?

提前致谢。

比尔蜥蜴

&运营商的优先级高于<===等等,所以你必须添加的括号第二个条件为好。

df.loc[(df['PPTOT'] <= 0) & (df['SECTOR_1']=='CS'), 'PPTOT'] = np.nan

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章