df1:
Con1 Con2 Con3
p s 100
q t 200
p t 300
q s 400
df2:
Ton1 Ton2 Ton3
p s 150
p t 110
p s 108
q t 409
q s 410
q t 406
输出应为:
Con1 Con2 Con3 Ton1 Ton2 Ton3
p s 100 p s 108
q t 200 Nan Nan Nan
p t 300 Nan Nan Nan
q s 400 Nan Nan Nan
合并应基于逻辑Ton3应比Con3高6-10%
逻辑:(Ton3=>;(6%*Con3)+Con3)&;(Ton3=<;(10%*Con3)+Con3)
pd.merge(df1,df2,left_on=['Con1','Con2']+logic, right_on=['Ton1','Ton2']+logic, how='left')
数据帧生成
合并数据帧并应用给定条件:
我认为这应该是输出的最终格式。 还请注意,对于df1中的Con1和Con2的特定对,df2中可能存在多对Ton1和Ton2
如果还必须使用NaN获取行,请在运行上面的代码块之后运行此代码块
相关问题 更多 >
编程相关推荐