我想在满足条件时从我的 pandas 数据框中删除组。例如这个数据集,每当客户回答i
问题a
我需要从这个客户中删除整个记录。
import pandas as pd
df = pd.DataFrame({'customer': [1, 1, 2], 'question': ['a', 'b', 'a'], 'answer': ['i', 'ii', 'iii']})
df
customer question answer
0 1 a i
1 1 b ii
2 2 a iii
所以对于这种情况,我需要这样过滤掉。
customer question answer
0 2 a iii
实现这一目标的好方法是什么?我唯一能想到的方法就是旋转、过滤和融化。
最佳答案
可以通过filter
来完成
df.groupby('customer').filter(lambda x : ~((x.answer=='i')&(x.question=='a')).any())
Out[109]:
answer customer question
2 iii 2 a
关于python - Pandas :根据条件删除组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48331802/