簡體   English   中英

熊貓 groupby 到新列

[英]pandas groupby to new columns

我有下表

團體 價值 姓名
1 1.1 AAAA
1 1.2 BBBB
2 1.4 中國交建
2 1.6 DDDD
3 0.4 電子電氣設備
3 0.3 FFFF

我想通過按組 ID 分組將表格轉換為以下內容:

團體 值_1 名稱_1 價值_2 名稱_2
1 1.1 AAAA 1.2 BBBB
2 1.4 中國交建 1.6 DDDDDD
3 0.4 電子電氣設備 0.3 FFFF

現在一個解決方案,假設每組只有兩行是好的,但如果可能的話,我希望看到一個超過兩行的解決方案。

為每個組添加一個計數器,然后取消堆疊:

df_wide = (df.assign(count=(df.groupby("Group").cumcount() + 1).astype(str))
             .set_index(["Group", "count"])
             .unstack("count")
             .sort_index(axis=1, level=1))
df_wide.columns = df_wide.columns.map('{0[0]}_{0[1]}'.format)

df_wide

      Name_1  Value_1 Name_2  Value_2
Group                                
1       AAAA      1.1   BBBB      1.2
2       CCCC      1.4   DDDD      1.6
3       EEEE      0.4   FFFF      0.3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM