【问题标题】:How to filter the pandas dataframe when one cell value of all columns equals to a specific string当所有列的一个单元格值等于特定字符串时如何过滤熊猫数据框
【发布时间】:2021-05-20 04:05:18
【问题描述】:

我有一个大约 20-30 列的数据框。当行中的一个单元格值等于“失败”时,我想过滤所有行。

数据框如下所示:

    Column_1 Column_2 ... Column_30
0      Pass   Pass          Fail
1      Pass   Pass          Pass
2      Fail   Pass          Pass
3      Pass   Pass          Pass
4      Pass   Pass          Pass
..

我想过滤掉第 0 行和第 2 行。有没有办法做到这一点?非常感谢。

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    试试any

    out = df[~df.eq('Fail').any(1)]
    

    【讨论】:

    • 非常感谢您使用any 提供的惊人解决方案。只是一个快速的后续问题:无论如何,只要该记录中有Fail,我们是否可以获取列名?
    • @SkipperLin 你想按行拥有吗?
    • 技术上是的。在我的原始数据集中,我希望以列表格式获取包含 Fail 的列名(即 [Column 1, Column 30])
    • @SkipperLin s = df.eq('Fail').any() ; s[s].index
    猜你喜欢
    • 2021-08-26
    • 2022-07-01
    • 2023-03-14
    • 2015-09-24
    • 1970-01-01
    • 2019-02-13
    • 1970-01-01
    • 2019-09-11
    • 2019-02-10
    相关资源
    最近更新 更多