【发布时间】:2021-02-13 06:24:56
【问题描述】:
我有以下数据框:
df1=pd.DataFrame({'fr':[1,2,3],'to':[4,5,6],'R':[0.1,0.2,0.3]})
df2=pd.DataFrame({'fr':[1,5,3],'to':[4,2,6],'X':[0.4,0.5,0.6]})
我想在 fr 和 to 上合并这两个数据帧,忽略 fr 和 to 的顺序,即 (2,5) 与 (5,2) 相同。期望的输出是:
dfO=pd.DataFrame({'fr':[1,2,3],'to':[4,5,6],'R':[0.1,0.2,0.3],'X':[0.4,0.5,0.6]})
或
dfO=pd.DataFrame({'fr':[1,5,3],'to':[4,2,6],'R':[0.1,0.2,0.3],'X':[0.4,0.5,0.6]})
我可以做到以下几点:
pd.merge(df1,df2,on=['fr','to'],how='left')
但是,正如预期的那样,第二行的 X 值是 NaN。
感谢您的帮助。
【问题讨论】:
标签: python-3.x pandas merge