根据两列一起过滤行

我正在尝试根据两行值过滤掉行。我看到的大多数问题的解决方案都使用以下方法:


df.loc[(df['A'] != 'yes') & (df['B'] != 'no')]


这会过滤 A 和 B 与一个值不同的行,我想要做的是过滤列具有我正在过滤的值的行,例如:


Player | action | result

1          A        B

2          B        A

3          C        A

4          A        B

5          A        C

在此示例中,我想删除具有 actionA和 result的行B。使用上面的示例,它将删除等于 的操作A以及结果等于 的行B。我想删除A有结果的操作B。


预期输出:


  Player | action | result

    2          B        A

    3          C        A

    5          A        C

可能我在这里造成了很多困惑,这很简单。无论如何,任何帮助将不胜感激!


阿波罗的战车
浏览 1566回答 2
2回答

慕斯709654

您可以尝试以下吗?import pandas as pddf2[~((df2["action"]=='A') & (df2["result"]=='B'))]数据帧的输出如下。  Player action result1   2    B    A2   3    C    A4   5    A    C

慕田峪7331174

我想这就是你想要的pd.concat([df[(df['action'] == 'A') & (df['result'] != 'B')],df[(df['action'] != 'A')]])
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python