gpt4 book ai didi

python - 将电子邮件 'From' 字段的 pandas DataFrame 拆分为发件人姓名、电子邮件地址

转载 作者:太空宇宙 更新时间:2023-11-04 01:01:28 25 4
gpt4 key购买 nike

我有一个 pandas Dataframe 由一个列组成,它是从电子邮件的 From 字段中提取的,例如

                                                   From
0 Grey Caulfu <grey.caulfu@ymail.com>
1 Deren Torculas <deren.e.torcs87@gmail.com>
2 Charlto Youna <youna.charlto4@yahoo.com>

我想利用 str 访问器将数据分成两列,这样第一列就是,姓名,包含实际姓名(名字姓氏),第二列 Email 包含电子邮件地址。

如果我使用:

df = pd.DataFrame(df.From.str.split(' ',1).tolist(),
columns = ['Name','Email'])

几乎是我需要的,但是它将姓氏放在电子邮件列中(即将 split() 中的最后两项放入此列中)。我该如何修改它,以便 split() 知道在填充第一列时在第一个空格后停止?

一旦我们实现了这一点,我们就需要让它更健壮一点,以便它可以处理包含三个元素的名称,例如

Billy R. Valentine <brvalentine@abc2mail.com>
Yurimov | Globosales <yurimov@globosaleseu.com>

最佳答案

您可以使用 rsplit()而不是 split() , 从反向拆分。示例 -

In [12]: df1 = pd.DataFrame(df.From.str.rsplit(' ',1).tolist(), columns=['Name','Email'])

In [13]: df1
Out[13]:
Name Email
0 Grey Caulfu <grey.caulfu@ymail.com>
1 Deren Torculas <deren.e.torcs87@gmail.com>
2 Charlto Youna <youna.charlto4@yahoo.com>

关于python - 将电子邮件 'From' 字段的 pandas DataFrame 拆分为发件人姓名、电子邮件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32643649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com