首頁 >後端開發 >Python教學 >以下是一些基於所提供資訊的問題式標題: 清晰簡潔: * 如何將 Pandas DataFrame 中的逗號分隔值拆分為多行? * 使用 Com 拆分列

以下是一些基於所提供資訊的問題式標題: 清晰簡潔: * 如何將 Pandas DataFrame 中的逗號分隔值拆分為多行? * 使用 Com 拆分列

Patricia Arquette
Patricia Arquette原創
2024-11-02 05:53:29539瀏覽

Here are some question-style titles based on the information provided:

Clear and Concise:

* How to Split Comma-Separated Values into Multiple Rows in a Pandas DataFrame?
* Splitting Columns with Comma-Separated Lists into Multiple Rows in Pandas
* Trans

將pandas DataFrame 中的單元格拆分為多行

問題:

如何拆分將逗號分隔的[package 和package_code] 列分成pandas DataFrame 中的多行,為每個包建立一個新行及其對應的訂單詳細資料?

答案:

方法一:(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. 設定不應該拆分的欄位作為索引。
  2. 使用 stack() 壓平行。
  3. 使用 Expand=True 的 str.split() 來分割逗號上的值並將它們展開為列。
  4. 再次堆疊產生的 DataFrame 以展平行。
  5. 使用 unstack(-2 ) 從索引的倒數第二層建立新欄位。
  6. 使用reset_index(-1, drop=True) 刪除索引的多餘最後一層。
  7. 將索引重設為將其還原為原來的順序。

以上是以下是一些基於所提供資訊的問題式標題: 清晰簡潔: * 如何將 Pandas DataFrame 中的逗號分隔值拆分為多行? * 使用 Com 拆分列的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn