Python 如何将2个卓越与熊猫合并
我有两个要合并的excel文件:Python 如何将2个卓越与熊猫合并,python,pandas,dataframe,Python,Pandas,Dataframe,我有两个要合并的excel文件: file1 file2 a b a b 1 AA aa 1 AA aaaa 2 BB bb 2 BB bbbb 3 CC cc 3 CC cccc 4 DD dd 5 EE ee 与: 我能够合并并接收: file3 a b c 1 AA aa aaaa 2 BB bb bbbb 3 CC cc cccc 但
file1 file2
a b a b
1 AA aa 1 AA aaaa
2 BB bb 2 BB bbbb
3 CC cc 3 CC cccc
4 DD dd
5 EE ee
与:
我能够合并并接收:
file3
a b c
1 AA aa aaaa
2 BB bb bbbb
3 CC cc cccc
但是,我希望收到:
file4
a b c
1 AA aa aaaa
2 BB bb bbbb
3 CC cc cccc
4 DD dd
5 EE ee
请告知配方。感谢将您的数据帧视为
file1 = pd.DataFrame({"a": ["AA", "BB", "CC", "DD", "EE"], "b": ["aa", "bb", "cc", "dd", "ee"]})
file2 = pd.DataFrame({"a": ["AA", "BB", "CC"], "b": ["aaaa", "bbbb", "cccc"]})
使用:
这导致:
a b c
0 AA aa aaaa
1 BB bb bbbb
2 CC cc cccc
3 DD dd
4 EE ee
仍然有一些问题,但可能是最终的格式问题。是否可以对结果列进行排序以接收c、a、b?必须使用
df=df[['c','a','b']]]
对这些列重新排序。
all_data_st = (
pd.merge(file1, file2, on="a", how="left")
.fillna('').rename(columns={"b_x": "b", "b_y": "c"}))
print(all_data_st)
a b c
0 AA aa aaaa
1 BB bb bbbb
2 CC cc cccc
3 DD dd
4 EE ee