【问题标题】:Why does't my pandas indexer work when I tried to filter just two values? [closed]当我尝试仅过滤两个值时,为什么我的 pandas 索引器不起作用? [关闭]
【发布时间】:2021-02-26 09:39:33
【问题描述】:

我尝试使用索引器从 DataFrame 中仅过滤两个值(1 和 2),但如果我检查 .csv 文件,我发现了大约 77 个值。

#我的 len 是 15333,这是因为“77”值,正确的是 15286,即只考虑 1 和 2 值。 PD:'HAD_CPOX' 中的所有内容都是 int64,我尝试使用 != 77。

【问题讨论】:

标签: pandas numpy dataframe mask


【解决方案1】:

如果我查看您的代码并且您只想获取值 HAD_CPOX==1HAD_CPOX==2,那么您仍然必须像这样再次将过滤后的 df 分配回变量 df:

df = df[(df['HAD_CPOX'] == 1) & (df['HAD_CPOX'] == 2)]

你也可以写:

df = df[df['HAD_CPOX'].isin([1, 2])

在您的代码中,您只有:

df[(df['HAD_CPOX'] == 1) & (df['HAD_CPOX'] == 2)]

但是您的 df 没有被分配,因此您的数据框中没有任何更改或过滤。

【讨论】:

  • 感谢 Sander van den Oord,非常感谢您的帮助。来自墨西哥的欢呼!
猜你喜欢
  • 2020-08-12
  • 1970-01-01
  • 1970-01-01
  • 2018-02-06
  • 1970-01-01
  • 2013-04-27
  • 2019-12-17
  • 1970-01-01
相关资源
最近更新 更多