如何在Python中提取邮箱地址列的域名主体(去除.com等后缀)
实现方法
- 链式拆分法(适合大部分单后缀域名场景)
在你现有代码的基础上,对拆分得到的域名部分按.二次拆分,取首个元素后做首字母大写处理即可,代码如下:
df['email_domain'] = df['email'].str.split('@').str[1].str.split('.').str[0].str.capitalize()
如果不需要首字母大写,去掉最后的.str.capitalize()即可。
- 正则提取法(灵活性更高,可自定义规则适配复杂场景)
直接用正则捕获@之后到第一个.之前的内容,代码如下:
df['email_domain'] = df['email'].str.extract(r'@([^.]+)\.', expand=False).str.capitalize()
如果你的数据集存在xxx@mail.xxx.edu.cn这类多级域名场景,只需调整正则规则适配你要提取的主体位置即可。
内容的提问来源于stack exchange,提问作者SQLPractice
相关产品推荐
相关产品推荐

