Pandas:修复数据框中键的拼写错误
Posted
技术标签:
【中文标题】Pandas:修复数据框中键的拼写错误【英文标题】:Pandas: fix typos in keys within a dataframe 【发布时间】:2018-09-28 00:03:29 【问题描述】:所以,我有一个包含客户姓名的大型数据框。我结合使用电话号码和电子邮件来为每个客户创建一个唯一的 ID 密钥。但是,有时电子邮件中会出现拼写错误,因此它会为同一客户创建两个密钥。
像这样:
Key | Order #
555261andymiller@gmail.com 901345
555261andymller@gmail.com 901345
我正在考虑根据电话号码(部分字符串)组合所有键,然后将每个组中的所有键分配给每个组中的第一个键。我将如何在 Pandas 中执行此操作?我尝试过遍历行,也尝试过通过部分字符串使用 groupby 方法,但我似乎无法使用此方法分配新值。
【问题讨论】:
在创建密钥之前清理电子邮件地址? 我正在处理数以万计的行,但我不确定除了手动之外如何清理电子邮件地址。 你怎么知道哪个是错字的电子邮件地址,哪个是正确的?上面有任何类型的时间戳吗?如果这些人的电子邮件实际上是andymller@..
怎么办?
这对我的目的来说真的没关系,这是正确的。我只需要客户具有相同的标识符。无论是andymiller还是andymler都无关紧要。
【参考方案1】:
如果您真的不在乎新 ID 是什么,您可以按字符串的第一个字符(代表电话号码)进行分组
例如:
df.groupby(df.Key.str[:6]).first()
这将产生一个数据框,其中索引是客户记录的第一个条目。这假设电话号码总是正确的,尽管这听起来不应该是一个问题
【讨论】:
以上是关于Pandas:修复数据框中键的拼写错误的主要内容,如果未能解决你的问题,请参考以下文章
Python 中的 Pandas 错误:列的长度必须与键的长度相同
ruby reddit'hot'算法,在ruby中,用拼写错误修复
在 read_csv 之后选择 pandas 数据框中的列时出现关键错误