首页 > 解决方案 > 如何使用 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

标签: pythonpandasdata-science

解决方案


使用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('@(.+)\.')

推荐阅读