Python Dataframe将文本拆分为新列
我有一个数据框a,其中包含以下列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
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
这假设要匹配的文本后跟“/”
,并且可以位于任何位置