为了账号安全,请及时绑定邮箱和手机立即绑定

根据两列一起过滤行

根据两列一起过滤行

阿波罗的战车 2023-08-22 15:29:13
我正在尝试根据两行值过滤掉行。我看到的大多数问题的解决方案都使用以下方法:df.loc[(df['A'] != 'yes') & (df['B'] != 'no')]这会过滤 A 和 B 与一个值不同的行,我想要做的是过滤列具有我正在过滤的值的行,例如:Player | action | result1          A        B2          B        A3          C        A4          A        B5          A        C在此示例中,我想删除具有 actionA和 result的行B。使用上面的示例,它将删除等于 的操作A以及结果等于 的行B。我想删除A有结果的操作B。预期输出:  Player | action | result    2          B        A    3          C        A    5          A        C可能我在这里造成了很多困惑,这很简单。无论如何,任何帮助将不胜感激!
查看完整描述

2 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

您可以尝试以下吗?


import pandas as pd

df2[~((df2["action"]=='A') & (df2["result"]=='B'))]

数据帧的输出如下。


  Player action result

1   2    B    A

2   3    C    A

4   5    A    C


查看完整回答
反对 回复 2023-08-22
?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

我想这就是你想要的

pd.concat([df[(df['action'] == 'A') & (df['result'] != 'B')],df[(df['action'] != 'A')]])


查看完整回答
反对 回复 2023-08-22
  • 2 回答
  • 0 关注
  • 1565 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信