从数据集中提取数据

时间:2019-08-14 04:48:47

标签: regex python-3.x machine-learning

我需要从名称中提取标题,但无法理解其工作原理。我提供了以下代码:

combine = [traindata , testdata] 

for dataset in combine:
    dataset["title"] = dataset["Name"].str.extract(' ([A-Za-z]+)\.' , expand = False )

没有错误,但我需要了解以上代码的工作

名称

Braund, Mr. Owen Harris

Cumings, Mrs. John Bradley (Florence Briggs Thayer)

Heikkinen, Miss. Laina

Futrelle, Mrs. Jacques Heath (Lily May Peel)

Allen, Mr. William Henry

Moran, Mr. James

上面是csv文件中的名称功能,在dataset["title"]中,它存储了mr,miss,master等每个名称的标题。

2 个答案:

答案 0 :(得分:0)

您的代码使用正则表达式使用pandas.Series.str.extract函数从名称中提取标题

  

pandas.series.str.extract-将正则表达式中的捕获组提取为DataFrame中的列。

' ([A-Za-z]+)\.'这是您代码中的正则表达式模式,可找到存在的地方Name中的字符串部分。

[A-Za-z]-模式的这一部分在a-z和A-Z字母范围之间寻找字符

+指出可以有多个字符

\.在字符串的一部分之后寻找

  

上面的链接中提供了一个示例,该示例从中提取零件   字符串并将零件放在单独的列中

答案 1 :(得分:-1)

我发现此特定链接的响应对于如何使用'str's extract方法以及如何将扩展值从True更改为False并将字符串放入列和系列中非常有帮助。