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