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