我正在尝试基于一列进行过滤。例如,每当我看到它有account_no 1111时,我想删除该事务
输入
Date Trans account_no
2017-12-11 10000 1111
2017-12-11 10000 1112
2017-12-11 10000 1113
2017-12-11 10001 1111
2017-12-11 10002 1113
期望的输出
Date Trans account_no
2017-12-11 10002 1113
编辑:
这与运算符链接不同,因为您正在处理重复/条件过滤器
通过使用issubset
+ transform
df[~df.groupby('Trans').account_no.transform(lambda x : set([1111]).issubset(x))]
Out[1658]:
Date Trans account_no
4 2017-12-11 10002 1113
你可以分两步完成。首先使用Trans
查找所有account_no
值,其中.loc
等于1111。然后用isin()
选择所有其他交易
df[~df.Trans.isin(df.loc[df.account_no == 1111,'Trans'])]
Date Trans account_no
4 2017-12-11 10002 1113