我對 python 比較陌生,我想知道如何合并這兩個表并保留它們的值?
考慮這兩個表:
df = pd.DataFrame([[1, 3], [2, 4],[2.5,1],[5,6],[7,8]], columns=['A', 'B'])
A B
1 3
2 4
2.5 1
5 6
7 8
df2 = pd.DataFrame([[1],[2],[3],[4],[5],[6],[7],[8]], columns=['A'])
A
1
2
...
8
我想獲得以下結果:
A B
1 3
2 4
2.5 1
3 NaN
4 NaN
5 6
6 NaN
7 8
8 NaN
您可以看到 A 列以有序的方式包含來自第一個和第二個資料幀的所有值。我嘗試過:
pd.merge(df,df2,how='outer')
pd.merge(df,df2,how='right')
但前者不會產生有序的資料幀,而后者不包含 df 獨有的行。
uj5u.com熱心網友回復:
讓我們做concat那么drop_duplicates
out = pd.concat([df2,df]).drop_duplicates('A',keep='last').sort_values('A')
Out[96]:
A B
0 1.0 3.0
1 2.0 4.0
2 2.5 1.0
2 3.0 NaN
3 4.0 NaN
3 5.0 6.0
5 6.0 NaN
4 7.0 8.0
7 8.0 NaN
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/325898.html
上一篇:從多級索引資料框中有選擇地洗掉列
下一篇:聚合值熊貓
