這個問題在這里已經有了答案:
步驟1:在每個組內創建索引,并設定資料幀的索引
dataframe['group_id'] = dataframe.groupby('id')['id'].transform(lambda x: np.arange(1,len(x) 1))
dataframe.set_index(['id', 'group_id'], append=False, inplace=True)
現在資料框看起來像:
![如何合并匹配索引的資料框并拆分其他列?[復制]](https://img.uj5u.com/2022/05/19/9d9a85acb1884ca796a8852473cd7b8d.png)
第 3 步:在組索引上取消堆疊
dataframe = dataframe.unstack(level=-1)
現在資料框看起來像:
![如何合并匹配索引的資料框并拆分其他列?[復制]](https://img.uj5u.com/2022/05/19/25991b6432984c69a7460a832f129a95.png)
最后一步:展平列名以匹配所需的輸出,并洗掉額外的狀態列
dataframe.columns = [f"{x}_{y}" for x,y in dataframe.columns]
dataframe.drop(['status_2', 'status_3'], axis=1, inplace=True)
dataframe.rename({'status_1': 'status'}, axis=1, inplace=True)
給出最終形式:
![如何合并匹配索引的資料框并拆分其他列?[復制]](https://img.uj5u.com/2022/05/19/447e8d8f6b434c798157c1ab454e683e.png)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/477321.html
上一篇:如何使用帶有lambda的map函式將下面的串列從攝氏溫度轉換為華氏溫度?
下一篇:來自元組串列的不同深度嵌套字典
