python - 按特定列对数据进行分组,然后将行值拆分为不同的列
问题描述
#我的输入数据框(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 之外,任何方法都是可以接受的。
解决方案
推荐阅读
- python - 如何装饰父属性的 getter 或 setter?
- android - W/FLTFireMsgService(8777):Flutter-FCM 无法在 Dart 中处理后台消息
- c - 创建过滤器 ffmpeg 过滤器时,我得到 ar: libavfilter/foobar.o: No such file or directory
- php - Laravel Paypal Api 和订阅计划集成。自学初学者的问题
- asp.net-core - 如何从 ASP.Net Core 5 (Razor) 中的中间件获取页面模型的类型?
- java - 在没有一堆 if 语句的情况下检查用户输入并委托给其他方法?
- javascript - 在 Chrome 设置页面中模拟点击
- php - 如何将访问我网站的人的 IP 保存到 logs.txt?
- javascript - forEach 循环中的 .append() 与 .html()
- rust - rust 火箭响应工具显示由于要求冲突而导致的生命周期参数“r”