首頁  >  文章  >  後端開發  >  如何使用 Pandas 根據特定分隔符號將文字字串拆分為多行?

如何使用 Pandas 根據特定分隔符號將文字字串拆分為多行?

Barbara Streisand
Barbara Streisand原創
2024-11-10 08:40:03376瀏覽

How can I split text strings into multiple rows based on specific delimiters using Pandas?

Pandas 將文字分割為多行的方法

問題:

問題:大CSV 檔案包含一列大型SV表 檔案包含一列大型SV需要根據特定分隔符號將文字字串拆分為多行。目標是為每組分割文字建立單獨的行。

  1. 使用Pandas 的解:
  2. 使用第一個分隔符號(空格)分割文字str.split(' ').
  3. 應用apply() 函數將清單中的每個字串按秒分割分隔符號(冒號)並將其轉換為系列。
  4. 使用 stack() 將產生的 DataFrame 轉換為單一欄位並重設索引。
  5. 將欄位重新命名為「Seatblocks」。
從 DataFrame 中刪除原始的「Seatblocks」欄位。

加入新列原始 DataFrame 的「Seatblocks」欄位。

s = df['Seatblocks'].str.split(' ').apply(Series, 1).stack()
s.index = s.index.droplevel(-1)
s.name = 'Seatblocks'
del df['Seatblocks']
df.join(s)

以空格和冒號分割:

   CustNum     CustomerName  ItemQty Item  ItemExt  Seatblocks
0    32363  McCartney, Paul        3  F04       60  2:218:10:4,6
1    31316     Lennon, John       25  F01      300  1:13:36:1,12
1    31316     Lennon, John       25  F01      300  1:13:37:1,13

範例輸出:

df.join(s.apply(lambda x: Series(x.split(':'))))
範例輸出:

分割冒號:

   CustNum     CustomerName  ItemQty Item  ItemExt  0    1   2     3
0    32363  McCartney, Paul        3  F04       60  2  218  10   4,6
1    31316     Lennon, John       25  F01      300  1   13  36  1,12
1    31316     Lennon, John       25  F01      300  1   13  37  1,13
範例輸出:

以上是如何使用 Pandas 根據特定分隔符號將文字字串拆分為多行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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