【发布时间】:2018-08-07 12:33:53
【问题描述】:
鉴于我从“train”数据集中有一列“Name”,我想从中提取标题,将其添加到新创建的列“Title”中。
我考虑过使用re.search("([A-Za-z]+)\."),但我不确定如何遍历整个列并将其传递给新列。
提前感谢您的帮助。
【问题讨论】:
-
显示您迄今为止尝试过的“完整”代码...
标签: python python-3.x pandas data-science
鉴于我从“train”数据集中有一列“Name”,我想从中提取标题,将其添加到新创建的列“Title”中。
我考虑过使用re.search("([A-Za-z]+)\."),但我不确定如何遍历整个列并将其传递给新列。
提前感谢您的帮助。
【问题讨论】:
标签: python python-3.x pandas data-science
您可以使用以下代码:
import pandas as pd
df=pd.DataFrame([['Braund, Mr. Owen Harris'],['Cumings, Mrs. John Bradley'],
['Heikkinen, Miss. Laina'],['Futrellem, Mrs. Jacques Heath'],
['Allen, Mr. William Henry']],
columns=['Name'])
df['title']=df['Name'].apply(lambda s:s.split(',')[1].split('.')[0])
【讨论】:
试试这个
df - 带有列名称的数据框
df["Title"] = df["Name"].apply(lambda name: re.search(name, "([A-Za-z]+).").group(0))
它将在您的 df 中创建新的列标题
【讨论】: