首页 > 解决方案 > 我正在尝试通过使用分隔符拆分列值来获取第 n 个空间值

问题描述

我创建了一个df带有 csv 数据的数据框,如下所示:

col_1,col_2
001,JOHN VARCHAR(11) NOT NULL^RANDY VARCHAR(2) NOT NULL^MICHAEL VARCHAR(105) NOT NULL^DATE STRING
002,Danny VARCHAR(87)^EDWARD VARCHAR(4) NOT NULL^ROB VARCHAR(73) NOT NULL

我试图col_2通过 ^ 分隔符拆分来获得空格分隔符的第二个值,如下 df

col_1,col_2,col_3
001,JOHN VARCHAR(11) NOT NULL^RANDY VARCHAR(2) NOT NULL^MICHAEL VARCHAR(105) NOT NULL^DATE STRING,VARCHAR(11)^VARCHAR(2)^VARCHAR(105)^STRING
002,Danny VARCHAR(87)^EDWARD VARCHAR(4) NOT NULL^ROB VARCHAR(73) NOT NULL,VARCHAR(87)^VARCHAR(4)^VARCHAR(73)

我在下面使用但无法获得空间的第二个值

df['col_3'] = df['col_2'].map(lambda v: v.split(' ')[1])

标签: pythonpandas

解决方案


它可能不会直接回答您的问题,但我认为这个问题应该与如何在 pandas 数据框中分解列表有关。

df["col_2"].str.split("^", expand=True).stack().reset_index()

在此处输入图像描述


推荐阅读