在熊貓中合并/合并多個表的最佳方法是什么?為簡單起見,假設我們有 3 個簡單的表作為資料框,如下所示:
表格1
AA_max 55
AA_min 40
BB_max 23
BB_min 10
表2
AA_max 55
AA_min 40
表3
AA_max 85
AA_min 10
BB_max 23
BB_min 10
您將如何生成這樣的合并表:
Item | Table1 min | Table1 max | Table2 min | Table2 max | Table3 min | Table3 max
AA 40 55 40 55 10 85
BB 10 23 10 23
使用熊貓可行嗎?如果不是,最好只迭代每個表的每一行,插入字典并在迭代時相應地填充列?
假設另一個表中的專案可能存在也可能不存在于其他表中。
uj5u.com熱心網友回復:
解決方案
Concat沿列軸的表格Split索引以轉換為多索引Unstackon level=1 重塑map使用和展平多級列join
tables = [df1, df2, df3]
out = pd.concat({f'Table_{i}': df.set_index('name')['val']
for i, df in enumerate(tables, 1)}, axis=1)
out.index = out.index.str.split('_', expand=True)
out = out.unstack()
out.columns = out.columns.map('_'.join)
結果
print(out)
Table_1_max Table_1_min Table_2_max Table_2_min Table_3_max Table_3_min
AA 55 40 55.0 40.0 85 10
BB 23 10 NaN NaN 23 10
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/454586.html
上一篇:如何在地圖的鍵中找到最接近給定時間的LocalDateTime
下一篇:將物件轉換為過濾陣列時出現問題
