将 Pandas 数据框中的单元格拆分为多行
问题:
您有一个 Pandas包含订单数据的数据框,其中每个订单包含多个包裹,以逗号分隔的字符串形式存储在“package”和“package_code”列中。您的目标是拆分包裹数据,并为每个包裹创建一个新行及其相应的订单详细信息。
解决方案:
对于 Pandas 版本 >= 0.25:
<code class="python">df.set_index(['order_id', 'order_date']) \ .apply(lambda x: x.str.split(',').explode()) \ .reset_index()</code>
对于 Pandas 版本 :
<code class="python">df.set_index(['order_date', 'order_id']) \ .stack() \ .str.split(',', expand=True) \ .stack() \ .unstack(-2) \ .reset_index(-1, drop=True) \ .reset_index()</code>
解释:
1.设置索引: 将应保持不变的列('order_id' 和 'order_date')设置为数据框的索引。
2.拆分和堆栈:
3.取消堆叠并重置索引:
以上是如何根据逗号分隔值将 Pandas 数据框中的单元格拆分为多行?的详细内容。更多信息请关注PHP中文网其他相关文章!