Splitting Text in a Column into Multiple Rows
When working with large CSV files, it can be necessary to split text in a specific column into multiple rows. Pandas and Python offer efficient methods to accomplish this task.
Using Pandas
Split by Space:
df['Seatblocks'].str.split(' ').apply(Series, 1).stack()
This splits each row in the 'Seatblocks' column by space and creates a new column for each resulting string.
Split by Colon:
df['Seatblocks'].str.split(' ').apply(lambda x: Series(x.split(':')))
This further splits each string in the new column by colon, creating multiple columns for each colon-separated string.
Example
Consider this CSV file:
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 |
Using the above methods, the 'Seatblocks' column can be split into multiple rows:
CustNum | CustomerName | ItemQty | Item | Seatblocks1 | Seatblocks2 | Seatblocks3 | Seatblocks4 | ItemExt |
---|---|---|---|---|---|---|---|---|
32363 | McCartney, Paul | 3 | F04 | 2 | 218 | 10 | 4,6 | 60 |
31316 | Lennon, John | 25 | F01 | 1 | 13 | 36 | 1,12 | 300 |
31316 | Lennon, John | 25 | F01 | 1 | 13 | 37 | 1,13 | 300 |
Conclusion
By utilizing Pandas' splitting and stacking operations, it is possible to efficiently restructure text data in a column into multiple rows, enabling further analysis and manipulation.
The above is the detailed content of How can I split text in a column into multiple rows using Pandas and Python?. For more information, please follow other related articles on the PHP Chinese website!