Home  >  Article  >  Backend Development  >  How to Split Text in a Pandas Column into Multiple Rows?

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

DDD
DDDOriginal
2024-11-11 01:02:03719browse

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

Splitting Text in a Column into Multiple Rows using Pandas

When handling large CSV files, it becomes necessary to manipulate data efficiently. One common task is to split text in a column into multiple rows. This can be achieved using Pandas, a powerful data manipulation library in Python.

Suppose we have a CSV file with a column named "Seatblocks" containing text values separated by spaces and colons. Our goal is to split each value in this column into individual rows, creating new columns for each colon-separated part.

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

To split the "Seatblocks" column by space and give each part a separate row, we use the following code:

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)

This code produces the following output:

   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

To split each colon-separated string in its own column, we can use the following code:

df.join(s.apply(lambda x: Series(x.split(':'))))

This results in the following:

   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

These methods provide effective ways to split text in a column into multiple rows, enabling further data manipulation and analysis.

The above is the detailed content of How to Split Text in a Pandas Column into Multiple Rows?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn