Python I';我试着在熊猫身上得到n';通过使用分隔符拆分列值来获取空格的第个值

Python I';我试着在熊猫身上得到n';通过使用分隔符拆分列值来获取空格的第个值,python,pandas,Python,Pandas,我创建了一个数据帧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拆分为^delimiter来获取空格分隔符的第二个值,如

我创建了一个数据帧
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
拆分为^delimiter来获取空格分隔符的第二个值,如下所示

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])

在正确的路径上,您可以使用
^
字符拆分
col2
的值,并获得由
^
连接的数据类型,并将其分配给
col3
,如下所示:

将熊猫作为pd导入
数据={'col1':['001','002'],
'col2':['JOHN VARCHAR(11)不为空^RANDY VARCHAR(2)不为空^MICHAEL VARCHAR(105)不为空^DATE STRING',
'Danny VARCHAR(87)^EDWARD VARCHAR(4)不为空^ROB VARCHAR(73)不为空']}
df=pd.DataFrame.from_dict(数据)
df['col3']=list(映射(lambda x:'^'.join([col.split(''[1]表示x中的col]),df.col2.str.split('^'))
结果

0 VARCHAR(11)^VARCHAR(2)^VARCHAR(105)^STRING
1个VARCHAR(87)^VARCHAR(4)^VARCHAR(73)
名称:col3,数据类型:object

如果路径正确,可以使用
^
字符拆分
col2
的值,并获取由
^
连接的数据类型,并将其分配给
col3
,如下所示:

将熊猫作为pd导入
数据={'col1':['001','002'],
'col2':['JOHN VARCHAR(11)不为空^RANDY VARCHAR(2)不为空^MICHAEL VARCHAR(105)不为空^DATE STRING',
'Danny VARCHAR(87)^EDWARD VARCHAR(4)不为空^ROB VARCHAR(73)不为空']}
df=pd.DataFrame.from_dict(数据)
df['col3']=list(映射(lambda x:'^'.join([col.split(''[1]表示x中的col]),df.col2.str.split('^'))
结果

0 VARCHAR(11)^VARCHAR(2)^VARCHAR(105)^STRING
1个VARCHAR(87)^VARCHAR(4)^VARCHAR(73)
名称:col3,数据类型:object

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

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

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

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