我有一个数据框,它有两列:DNI,Email
我还有另外一个:名字,姓氏,num
这是数据结构:
数据帧1:
DNI email
. 1 Name1.lastname1@domain.com
. 525 Name2.lastname2@domain.com
. 665 Name3.lastname3@domain.com
数据帧2:
first name last name num
. name2 lastname2 8658685
. name1 lastname1 1131222
我想根据邮件将num列添加到第一个数据帧,如果电子邮件列不存在姓名和姓氏组合,我想添加“0”值,如下所示:
DNI email num
. 1 Name1.lastname1@domain.com 1131222
. 525 Name2.lastname2@domain.com 8658685
. 665 Name3.lastname3@domain.com 0
我不确定做这件事的正确方法是什么。。。我正在考虑使用for循环来实现这一点,根据一些条件向字典中添加值,但是这种逻辑对于大型数据帧来说效率很低
有没有更好的办法
谢谢
您可以按照以下步骤操作:
通过连接名字、姓氏和“domain.com”,在dataframe2中创建一个新列“email”
进行任何其他所需的字符串更改(根据您的数据),以使此电子邮件格式与dataframe1中的电子邮件完全匹配
现在,通过左键连接dataframe1和dataframe2
最后从“num”列中删除NaN,并将其替换为0
您可以编辑查询或
result
数据帧以删除生成的额外列从df1中提取姓名并添加为列
在名称和名称上合并df1和df2;姓
相关问题 更多 >
编程相关推荐