有一個資料框架的串列,無法找出按索引連接它們的列的解決方案。
df1 = pd.DataFrame(np. array([[5], [4], [24])。columns=['A'], index=[1, 2, 3] )
df2 = pd.DataFrame(np. array([[19], [16], [9]), columns=['A'], index=[4, 5, 7] )
df3 = pd.DataFrame(np. array([[49], [36], [12]), columns=['B'], index=[1, 2, 3] )
df4 = pd.DataFrame(np. array([[18], [23], [91]), columns=['B'], index=[6, 7, 8] )
dfs = [df1,df2,df3,df4] 。
dfs = pd.concat(dfs, axis=0)
dfs
1 5.0 NaN
2 4.0 NaN
3 24.0 NaN
4 19.0 NaN
5 16.0 NaN
7 9.0 NaN
1 NaN 49.0
2 NaN 36.0
3 NaN 12.0
6 NaN 18.0
7 NaN 23.0
8 NaN 91.0
是否有任何優雅而快速的解決方案來結合他們的列,如下面的解決方案中寫的那樣?
解決方案
dfs
1 5.0 49.0
2 4.0 36.0[/span].
3 24.0 12.0[/span
4 19.0 NaN
5 16.0 NaN
6 NaN 18.0
7 9.0 23.0
8 NaN 91.0
感謝任何幫助
uj5u.com熱心網友回復:
既然是雙向合并(在索引和列上),你可以試試combine_first以及functools.reduce的輔助方法:
from functools import reduce
reduce(lambda x, y: x.combill_first(y), dfs)
A B
1 5.0 49.0
2 4.0 36.0[/span].
3 24.0 12.0[/span
4 19.0 NaN
5 16.0 NaN
6 NaN 18.0
7 9.0 23.0
8 NaN 91.0
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/307676.html
標籤:
上一篇:如何改變多級索引/列資料框架的pyarrow表列精度
下一篇:計算多個日期之間的平均時間
