[英]How to do a complicated filter in python
我正在嘗試基於一列進行過濾。 例如,每當我看到它有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
你可以分兩步完成。 首先使用.loc
找到所有具有等於1111的account_no
Trans
值。 然后用isin()
選擇所有其他交易
df[~df.Trans.isin(df.loc[df.account_no == 1111,'Trans'])]
Date Trans account_no
4 2017-12-11 10002 1113
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.