gpt4 book ai didi

python - 使用 python pandas 删除重复项并添加一些列

转载 作者:行者123 更新时间:2023-12-04 00:50:43 24 4
gpt4 key购买 nike

是否可以使用 Python Pandas 执行以下操作?

我有一个类似于表 A 的 csv 文件。

TABLE A
------------------------------------------------
Name Email
------------------------------------------------
Hinckley Joel hjoel@mail.com
Hinckley Joel hjoel@mail.com
Hinckley Joel hinkleyjoel@mail.com
Joel Hinckley hinkjoel@mail.com
Siegel Allison sallison@mail.com
Nielsen Tami ntami@mail.com
Nielsen Tami ntami@gmail.com
...

我想删除具有重复名称的行,同时我想添加一个新列“Secondary Email”。
辅助电子邮件将是重复行的第一封电子邮件。

我要制作的最终表格是表格 B。

TABLE B
-----------------------------------------------------------
Name Email Secondary Email
-----------------------------------------------------------
Hinckley Joel hjoel@mail.com hinkleyjoel@mail.com
Siegel Allison sallison@mail.com
Nielsen Tami ntami@mail.com

从表A和B可以看出,即使名字和姓氏被替换,我也想认为是同一个人。 (例如:“Hinckley Joel”和“Joel Hinckley”)
另外,我想使用辅助电子邮件(例如:hinkleyjoel@mail.com)并将其添加到新列中。

提前谢谢你。

最佳答案

这是旋转两列,但您需要删除重复项:

(df.drop_duplicates()
.assign(col=lambda x: x.groupby("Name").cumcount())
.pivot(index='Name', columns='col', values='Email')
.add_prefix('Email_').reset_index()
)

输出:

col            Name            Email_0               Email_1
0 Hinckley Joel hjoel@mail.com hinkleyjoel@mail.com
1 Joel Hinckley hinkjoel@mail.com NaN
2 Nielsen Tami ntami@mail.com ntami@gmail.com
3 Siegel Allison sallison@mail.com NaN

关于python - 使用 python pandas 删除重复项并添加一些列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66785979/

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