【发布时间】:2017-07-27 06:48:06
【问题描述】:
我有一个看起来像这样的数据框:
import pandas as pd
df= pd.DataFrame({'ID1':['A','B','C','D','E'],\
'ID2':['B','A','D','C','E'],\
'Account':['94000','94500','94000','18300','94500'],\
'Amount':[100,-100,50,-50,100],\
'Match':['-','-','-','-','-']})
df
我正在努力寻找最有效的方法来识别“ID1”中的项目何时出现在“ID2”中,并且具有特定的 Account 值。例如,使用 Account=94500 的条件应该产生:
df= pd.DataFrame({'ID1':['A','B','C','D','E'],\
'ID2':['B','A','D','C','E'],\
'Account':['94000','94500','94000','18300','94500'],\ 'Amount':[100,-100,50,-50,200],'Match':['True','-','-','-','-']})
df
即只应标记第一行,因为 A(在 ID2 中)与 Account 94500 匹配
【问题讨论】:
-
在我发布的稍微修改的数据集下不起作用
-
在您更新的示例中,94500 中的 E 和 ID2 与 ID1 中的 E 匹配,所以最后一行也应该是 True,不是吗?