我有一个包含以下列MENU_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我正在寻找铁路超高,达鲁,YarV,古尔,但它是固定在最高值(铁路超高)。
我知道我已经很接近了,但是似乎找不到问题所在,所以任何帮助都是非常好的!
发布于 2020-04-03 14:21:35
对切片使用Series.str.split:
#fourth value
dfresults['City'] = dfresults['MENU_HINT'].str.split().str[3]
#third value
dfresults['City'] = dfresults['MENU_HINT'].str.split().str[2]发布于 2020-04-03 14:33:02
另一个解决方案是将pandas.Series.str.extract与正则表达式一起使用:
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这假设要匹配的文本后面跟着'/',并且可以在任何位置。
https://stackoverflow.com/questions/61006082
复制相似问题