我必须合并两个 DataFrame
,使用左连接 - 具体如下所示。
问题在于匹配键分布在3个列中。为了进一步增加难度,某些行(#4)将两次具有相同的匹配键!我建议使用 Melt
,但它仅适用于右连接。
最佳方法是什么?
import pandas as pd
data1 = {'key1' : ['abc','aa','aa','sdf'],
'key2' : ['aa','efg','aa', 'sdf'],
'key3' : ['aa','aa','xyz', 'aa']
}
data2 = {'key': ['abc','efg', 'xyz', 'sdf'],
'msg' : ['happy','mad','smile','great']}
df1= pd.DataFrame(data1)
df2= pd.DataFrame(data2)
df2
包含重复键时可能会有限制外,没有其他限制。但在这种情况下,您可以使用drop_duplicates
,这将正常工作。 - Shubham Sharma