【发布时间】:2021-11-28 12:43:22
【问题描述】:
我知道在 python 的列中删除包含特定值的行有很多方法,但我想知道是否有更有效的方法来执行此操作,即一次检查数据集中的所有列并删除所有列包含特定值的行而不将其转换为 NaN 并删除所有这些值。澄清一下,我不想丢失所有带有字符串/NaN 的列,我只想丢失具有特定值的行。
例如,我希望删除所有列中包含答案“拒绝”的参与者的所有行。所以如果我的桌子看起来像这样:
| Subject | Race | Gender | Weight |
|---|---|---|---|
| 1 | black | female | 123 |
| 2 | white | refused | 145 |
| 3 | white | male | 165 |
| 4 | asian | male | refused |
| 5 | refused | male | 128 |
| 6 | white | male | nan |
| 7 | asian | male | refused |
| 8 | black | male | nan |
我想实现一个语句,过滤它以仅保留没有任何响应且字符串包含“拒绝”的主题:
| Subject | Race | Gender | Weight |
|---|---|---|---|
| 1 | black | female | 123 |
| 3 | white | male | 165 |
| 6 | white | male | nan |
| 8 | black | male | nan |
有谁知道如何通过这种方式过滤整个数据集?
【问题讨论】:
-
dropna用于处理缺失值。 -
您想完全匹配“拒绝”还是答案包含“拒绝”?
标签: python pandas filter multiple-columns