
您可以将
boolean indexing和条件一起使用
isin,
Series通过
~以下方式反转布尔值:
import pandas as pdUSERS = pd.Dataframe({'email':['a@g.com','b@g.com','b@g.com','c@g.com','d@g.com']})print (USERS) email0 a@g.com1 b@g.com2 b@g.com3 c@g.com4 d@g.comEXCLUDE = pd.Dataframe({'email':['a@g.com','d@g.com']})print (EXCLUDE) email0 a@g.com1 d@g.comprint (USERS.email.isin(EXCLUDE.email))0 True1 False2 False3 False4 TrueName: email, dtype: boolprint (~USERS.email.isin(EXCLUDE.email))0 False1 True2 True3 True4 FalseName: email, dtype: boolprint (USERS[~USERS.email.isin(EXCLUDE.email)]) email1 b@g.com2 b@g.com3 c@g.com另一个解决方案
merge:
df = pd.merge(USERS, EXCLUDE, how='outer', indicator=True)print (df) email _merge0 a@g.com both1 b@g.com left_only2 b@g.com left_only3 c@g.com left_only4 d@g.com bothprint (df.loc[df._merge == 'left_only', ['email']]) email1 b@g.com2 b@g.com3 c@g.com
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)