首页 > 解决方案 > 从熊猫数据框中提取具有所需前缀的句子中的最后一个单词

问题描述

我想提取以提取的所需前缀开头的字符串的最后一次出现(在本例中为芒果)并放入新列。在 python 中执行此操作的最快方法是什么。我提供一个小例子如下

pd.DataFrame({"input_col": ["mango_1 apple_10 mango9 grape7","apple_10 mango8 grape7", "mango_1 mango2"],
              "desired_col": ["mango9","mango8","mango2"]
             }) 
                       input_col   desired_col
0  mango_1 apple_10 mango9 grape7  mango9
1          apple_10 mango8 grape7  mango8
2                  mango_1 mango2  mango2

标签: pythonpandas

解决方案


您可以str.findall再次使用字符串访问器来索引最后一个匹配项:

df['desired_col'] = df.input_col.str.findall(r'mango_*\d+').str[-1]

print(df)

             input_col              desired_col
0  mango_1 apple_10 mango9 grape7      mango9
1          apple_10 mango8 grape7      mango8
2                  mango_1 mango2      mango2

推荐阅读