如何从数据框的列中提取特定内容并创建新列?

时间:2018-12-03 18:16:21

标签: python regex pandas

我想创建一个新列,其中包含下面“名称”列中给出的名称的标题(例如:先生,小姐,上尉等)。

train_df['Name'].head()

0                              Braund, Mr. Owen Harris
1    Cumings, Mrs. John Bradley (Florence Briggs Th...
2                               Heikkinen, Miss. Laina
3         Futrelle, Mrs. Jacques Heath (Lily May Peel)
4                             Allen, Mr. William Henry
Name: Name, dtype: object

您还可以使用'pandas.Series.str.extract'来解释上述任务吗?谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用str.extract

df['Titles'] = df['Name'].str.extract(r', (\w+\.)')

返回:

                                           Name Titles
0                       Braund, Mr. Owen Harris    Mr.
1  Cumings, Mrs. John Bradley (Florence Briggs)   Mrs.
2                        Heikkinen, Miss. Laina  Miss.
3  Futrelle, Mrs. Jacques Heath (Lily May Peel)   Mrs.
4                      Allen, Mr. William Henry    Mr.

您可以看到运行中的正则表达式here