Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Dataframe将文本拆分为新列_Python_Pandas_Dataframe_Split - Fatal编程技术网

Python Dataframe将文本拆分为新列

Python Dataframe将文本拆分为新列,python,pandas,dataframe,split,Python,Pandas,Dataframe,Split,我有一个数据框a,其中包含以下列MENU\u HINT,我希望通过挑选第三个单词来创建一个新列: MENU_HINT AUS / Cant (AUS) AUS / Darw (AUS) AUS / YarV (AUS) AUS / Goul (AUS) 我的代码如下: splittext = str(dfresults['MENU_HINT']) dfresults['City'] = splittext.split()[3] 这给了我: MENU_HINT

我有一个数据框a,其中包含以下列
MENU\u HINT
,我希望通过挑选第三个单词来创建一个新列:

MENU_HINT
AUS / Cant (AUS) 
AUS / Darw (AUS)
AUS / YarV (AUS)
AUS / Goul (AUS)
我的代码如下:

splittext = str(dfresults['MENU_HINT'])
dfresults['City'] = splittext.split()[3]
这给了我:

MENU_HINT                City
AUS / Cant (AUS)         Cant
AUS / Darw (AUS)         Cant
AUS / YarV (AUS)         Cant
AUS / Goul (AUS)         Cant
我追求的是铁路超高,黑暗,雅尔夫,古尔,但它是固定的最高价值(铁路超高)

我知道我很接近,但似乎无法解决问题,所以任何帮助都将是巨大的

与切片一起使用:

#fourth value
dfresults['City'] = dfresults['MENU_HINT'].str.split().str[3]

#third value
dfresults['City'] = dfresults['MENU_HINT'].str.split().str[2]

另一种解决方案是与regex一起使用:

df['City'] = df['MENU_HINT'].str.extract(r'/\s(\w+)')
print(df)

           MENU_HINT  City
0  AUS / Cant (AUS)   Cant
1   AUS / Darw (AUS)  Darw
2   AUS / YarV (AUS)  YarV
3   AUS / Goul (AUS)  Goul
这假设要匹配的文本后跟
“/”
,并且可以位于任何位置