我有一個類似于我遇到的問題的示例。在這里,我有 3 年的公司名稱和收入。收入在 3 個不同的資料集中給出。當我連接資料時,它看起來如下:
1
我想要做的是公司名稱后跟實際收入列。從某種意義上說,洗掉重復的 company_name 行并將該資料放入相應的 company_name 中。我想要的輸出的影像:
期望的輸出x
uj5u.com熱心網友回復:
你可以試試:
df.set_index('company_name').stack().unstack().reset_index()
或者
df.groupby('company_name', as_index=False).first()
uj5u.com熱心網友回復:
我會說您的 concat 可能不是您應該使用的連接,而是嘗試df_merge pd.merge(df1, df2, how = 'inner', left_on = 'company', left_on = 'company')然后您可以使用 df_merge (您新合并的資料)和下一個資料幀來執行此操作。這應該使所有內容保持一致,并且只添加他們不共享的列。如果他們不僅有您正在查看的 2 列,您可能需要對資料進行更多清理以僅獲得您正在尋找的結果,但這在很大程度上應該可以幫助您開始并了解您的所有資料在正確的地方。
uj5u.com熱心網友回復:
使用melt和pivot_table:
out = (df.melt('company_name').dropna()
.pivot_table('value', 'company_name', 'variable', fill_value=0)
.rename_axis(columns=None).reset_index())
print(out)
# Output
company_name 2020 Revenue 2021 Revenue 2022 Revenue
0 company_1 10 20 50
1 company_2 20 30 60
2 company_3 30 40 70
3 company_4 0 0 80
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/488308.html
上一篇:SwiftUI影片僅適用于`withAnimation`塊,不適用于`.animation`
下一篇:來自熊貓變數的增量列
