首页 > 解决方案 > 如何连接具有特殊条件的两个表

问题描述

我有两个具有相同功能的 DataFrame:

 customer_id    Class    value  
 1              A        13  
 2              A        14   
 3              B        15

 customer id    Class    value
 1              A        16
 2              B        17
 3              B        18
 4              A        20   

现在我想要 1 个 DataFrame,其中包括将班级从 A 更改为 B 的客户

 customer_id    Class    value
 2              B        17

我怎样才能做到这一点?

标签: pythonpython-3.xpandas

解决方案


假设您的 DataFrame 是df1and df2,您可以将它们合并到客户上:

before_after = pd.merge(df1, df2, on='customer', how='left', suffixes=('_before', '_after'))

然后检查哪个从更改'A''B'

before_after[(before_after.id_before == 'A') & (before_after.id_after == 'B')]

推荐阅读