將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中文網其他相關文章!