我有一個關于資料框合并的基本問題。在我合并兩個 dataframe 之后,有沒有辦法只選擇結果中的幾列。
例如:
left = pd.DataFrame({'key1': ['K0', 'K0', 'K1', 'K2'],
'key2': ['K0', 'K1', 'K0', 'K1'],
'A': ['A0', 'A1', 'A2', 'A3'],
'B': ['B0', 'B1', 'B2', 'B3']})
right = pd.DataFrame({'key1': ['K0', 'K1', 'K1', 'K2'],
'key2': ['K0', 'K0', 'K0', 'K0'],
'C': ['C0', 'C1', 'C2', 'C3'],
'D': ['D0', 'D1', 'D2', 'D3']})
結果 = pd.merge(left, right, on=['key1', 'key2'])
結果 :
A B key1 key2 C D
0 A0 B0 K0 K0 C0 D0
1 A2 B2 K1 K0 C1 D1
2 A2 B2 K1 K0 C2 D2
None
有沒有辦法我只能從“右”資料框中選擇“C”列,從左資料框中選擇“A”列?例如,我希望我的結果是這樣的:
A key1 key2 C
0 A0 K0 K0 C0
1 A2 K1 K0 C1
2 A2 K1 K0 C2
None
uj5u.com熱心網友回復:
當然,首先過濾必要的列 用于連接的列:
result = pd.merge(left[['A','key1', 'key2']],
right[['C','key1', 'key2']],
on=['key1', 'key2'])
或者:
keys = ['key1', 'key2']
result = pd.merge(left[['A'] keys], right[['C'] keys], on=keys)
uj5u.com熱心網友回復:
mergeDF = pd.merge(left['key1','key2','A'], right[['key1','key2','C']], on=['key1', 'key2'])
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/392890.html
