将列中的文本拆分为多行
处理大型 CSV 文件时,可能需要拆分特定列中的文本分成多行。 Pandas 和 Python 提供了完成此任务的有效方法。
使用 Pandas
按空格分割:
df['Seatblocks'].str.split(' ').apply(Series, 1).stack()
这会分割“Seatblocks”中的每一行按空格分隔列,并为每个结果字符串创建一个新列。
按冒号拆分:
df['Seatblocks'].str.split(' ').apply(lambda x: Series(x.split(':')))
这进一步拆分中的每个字符串通过冒号创建新列,为每个冒号分隔创建多个列string.
示例
考虑这个 CSV 文件:
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”列可以分成多个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 |
结论
通过利用 Pandas 的拆分和堆叠操作,可以有效地将一列中的文本数据重组为多行,从而进一步实现分析和操作。
以上是如何使用 Pandas 和 Python 将一列中的文本拆分为多行?的详细内容。更多信息请关注PHP中文网其他相关文章!