python - 如何使用 find 方法使用 start 和 end 提取值
问题描述
我有一个提供电子邮件列表的数据框(sample_emails),我想只从电子邮件中提取工作场所。例如来自 person1@uber.com 等电子邮件,它应该只返回字符串“uber”。我尝试为此编写代码,但我不断收到各种错误。
extract_company = extract_company.find(email[ start['@', end['.']]
def extract_company(email):
return
提取的值应返回到 df extract_company
解决方案
使用pandas.Series.str.extract
:
import pandas as pd
extract_company = pd.Series(['a@google.com', 'b@facebook.com'])
extract_company.str.extract('@(.+)\.')
输出:
0
0 google
1 facebook
然后,您可以将其分配回您的df
,例如:
df['extract_company'] = extract_company.str.extract('@(.+)\.')
推荐阅读
- spring - Spring Boot Yaml 配置:类型化属性列表
- python - 关于用 Python 解析 JSON
- c - CPP_Magic IF_ELSE 宏?
- php - Docker PHP7 CLI Debian Buster 如何安装包 php-imagick?
- python - 令人困惑的新模型`unique = True`行为
- python - 在numpy中重新排列轴?
- kubernetes - 问题删除临时 pod
- python - 如何使用 Python 箭头语法调用函数
- android - 为什么在光标打开时并不总是触发 OnTouchEvent?
- asp.net-mvc - 单击后如何禁用asp-action链接