匹配数据框中的列并在Python中执行操作

时间:2018-01-31 22:51:17

标签: python pandas numpy dataframe logic

有两个数据框A和B.我必须将ID的{​​{1}}列与Data Frame A的{​​{1}}列匹配。如果有任何匹配,我正在尝试执行操作,如果Unique_ID中匹配的Data Frame B的{​​{1}}列中的任何一列大于Index ID 1}}喜欢Data Frame A。如果存在,则在单独的数据框中加载Super_Index。这只是我拥有的大数据集的示例数据。

数据框A: Data frame A

数据框B:

A.Index >B.Super_Index

OUPUT:

ID

有没有办法做到这一点?我是Python的新手,之前使用过R。谢谢!

1 个答案:

答案 0 :(得分:0)

使用merge_asof

pd.merge_asof(dfA.sort_values('Index'),dfB.sort_values('Super_Index'),left_on='Index',right_on='Super_Index',left_by ='ID',right_by='Unique_ID',allow_exact_matches =False).dropna().Unique_ID.unique()
Out[346]: array([33., 11., 22.])