繁体   English   中英

从数据集中提取数据

[英]Extract data from dataset

我需要从名称中提取标题,但无法理解它是如何工作的。 我提供了以下代码:

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 等

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

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

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

[A-Za-z] - 这部分模式查找 az 和 AZ 字母范围之间的字符

+它指出可以有多个字符

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

上面的链接提供了一个示例,它从字符串中提取一部分并将这些部分放在单独的列中

我发现这个带有链接的特定响应对于如何使用“str”的提取方法以及将字符串放在列和系列中并将扩展值从 True 更改为 False 非常有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM