如何將 Pandas 列中的文字拆分為多行?

DDD
發布: 2024-11-11 01:02:03
原創
724 人瀏覽過

How to Split Text in a Pandas Column into Multiple Rows?

使用 Pandas 將列中的文字拆分為多行

處理大型 CSV 檔案時,有必要有效地操作資料。一項常見任務是將一列中的文字拆分為多行。這可以使用 Python 中強大的資料操作庫 Pandas 來實現。

假設我們有一個 CSV 文件,其中有一列名為“Seatblocks”,其中包含由空格和冒號分隔的文字值。我們的目標是將此列中的每個值拆分為單獨的行,為每個冒號分隔的部分建立新列。

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

以空格拆分「Seatblocks」欄位並為每個部分提供單獨的行,我們使用以下程式碼:

s = df['Seatblocks'].str.split(' ').apply(Series, 1).stack()
s.index = s.index.droplevel(-1)
s.name = 'Seatblocks'
del df['Seatblocks']
df = 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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板