Python 3.x 按特定ID列查找两个整数列之间的差异

Python 3.x 按特定ID列查找两个整数列之间的差异,python-3.x,pandas,dataframe,Python 3.x,Pandas,Dataframe,我有以下两个数据帧 最后的请求: name fruit_id sold apple 123 1 melon 456 12 banana 12 23 name fruit_id sold apple 123 5 melon 456 19 banana 12 43 orange 55 3 mango 66 0 当前_请求_df: name

我有以下两个数据帧

最后的请求:

name    fruit_id  sold
apple   123       1 
melon   456       12
banana  12        23
name    fruit_id  sold
apple   123       5 
melon   456       19
banana  12        43
orange  55        3 
mango   66        0 
当前_请求_df:

name    fruit_id  sold
apple   123       1 
melon   456       12
banana  12        23
name    fruit_id  sold
apple   123       5 
melon   456       19
banana  12        43
orange  55        3 
mango   66        0 
输出应基于匹配上一个请求和当前请求的水果id列,并计算已售出列中的差异:

差异_df:

name    fruit_id  sold
apple   123       4 
melon   456       7
banana  12        20
orange  55        3 
mango   66        0
我尝试了以下方法,但恐怕fruid\U id列不匹配

difference_df['sold_diff'] = current_request_df['sold'] - last_request_df['sold'] 

根据我提供的数据,是否有更好的方法来捕捉差异?

是的,谢谢。。。这解决了我一直在寻找的问题。有时很难找到你想要解决的确切问题。谢谢你指出这一点!
 #Reset index to name for both dfs

 difference_df=current_request_df.set_index('name')
 last_request_df=last_request_df.set_index('name')
     

#Find the difference using sub. To do this ensure the two dfs have same index by reindexing 

difference_df['sold']=difference_df['sold'].sub(last_request_df.reindex(index=difference_df.index).fillna(0)['sold'])
    

  

         fruit_id  sold
name                  
apple        123   4.0
melon        456   7.0
banana        12  20.0
orange        55   3.0
mango         66   0.0