首页 > 解决方案 > 按特定列对数据进行分组,然后将行值拆分为不同的列

问题描述

#我的输入数据框(df)如下所示:

+----------+--------------------------+
| order_id |  product_category_name   |
+----------+--------------------------+
| 47585339 | Beverages                |
| 47585339 | Snacks & Branded Foods   |
| 47585339 | Foodgrains, Oil & Masala |
| 31076491 | Baby Care                |
| 78258104 | Breakfast Cereals        |
| 78258104 | Snacks & Namkeen         |
| 78258104 | Pickles & Chutney        |
+----------+--------------------------+

所需的输出数据框:

|  order_id   |     0                    |         1             |          2 
|             |                          |                       |
| 47585339    | Beverages                |Snacks & Branded Foods |Foodgrains, Oil & Masala
| 31076491    | Baby Care                |nan                    | nan
| 78258104    | Breakfast Cereals        |Snacks & Namkeen       |Pickles & Chutney 

#我通过 Group by 尝试了这个:

groups = df.groupby('order_id')
df_result= pd.DataFrame(groups['product_category_name'])

#但是输出没有以期望的方式出现。除了使用 group by 之外,任何方法都是可以接受的。

标签: pythonpandasdataframepandas-groupbytranspose

解决方案


推荐阅读