有两个DataFrame,df1和df2,需求:spid、price作为条件,查找两表相同的行,并将df2中的num值与df1中进行对比,如果小于df1表,则取df2的值赋值给新列js_num,如果大于df1表,则取df1的值赋值给js_num并记录差异,并继续找相同的第二行,将差异值与相同的第二行进行对比,同样取小的值,直到全部满足。求大神帮忙!
df1 = pd.DataFrame({'billno': ['ck001', 'ck002', 'ck003', 'ck004', 'ck005', 'ck006', 'ck007', 'ck008','ck009'], 'spid': ['sp01', 'sp01', 'sp01', 'sp02', 'sp02', 'sp03', 'sp04', 'sp04', 'sp04'],'price':[10,12,12,5,5,8,9,9,10],'num':[1, 2, 5, 4, 10, 6, 7, 5, 2]})
df2 = pd.DataFrame({'spid': ['sp01', 'sp02', 'sp03', 'sp04'], 'price':[12, 5, 8, 9],'num': [5, 2, 30, 13]})
相似问题