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