我正在尝试根据两行值过滤掉行。我看到的大多数问题的解决方案都使用以下方法: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
慕田峪7331174
TA贡献1828条经验 获得超13个赞
我想这就是你想要的
pd.concat([df[(df['action'] == 'A') & (df['result'] != 'B')],df[(df['action'] != 'A')]])
添加回答
举报
0/150
提交
取消