查看: 721| 回复: 2
跳转到指定楼层
上一主题 下一主题
收起左侧

join on condition问题

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
大佬们好,小白来请教个代码问题:.--

希望达成的目标:两个表join on emai,但右表有多个email feature,每种email都有可能与左表的email match, 所以希望可以
join on 'left email'=''right email 1' or 'left email'=''right email 2' or 'left email'=''right email 3'
问题:用pandas 如何实现?
如图是我尝试写的码,但不确定是不是想要的效果。。感谢指教🙏!!!




上一篇:没有primary key的数据连接问题
下一篇:DS职业发展中哪个证最有含金量/被认可?
全局:
问题有:
1  这三个email是mutual exclusive吗?what if a row has all of these three emails? 按你现在的逻辑(其实就是left join 三次)应该是会出现duplication,所以lz应该先处理好怎么处理三个email join priority的问题
2 假设只会有其中的一个email,那这个join logic是没问题但是效率比较低因为你完全可以预处理这三个email column 成一个email column based on the non-null column 然后再join.1point3acres
3 你return的table t并没有concat三次join而只是return the last join on “other emails” 注意看你的loop里 t的赋值那行

评分

参与人数 1大米 +3 收起 理由
bryanjhy + 3 很有用的信息!

查看全部评分

回复

使用道具 举报

🔗
 楼主| harryiori 2021-7-26 03:03:26 | 只看该作者
全局:
遇见未见 发表于 2021-7-25 13:25
问题有:
1  这三个email是mutual exclusive吗?what if a row has all of these three emails? 按你现在 ...

感谢解答!.1point3acres
它们不是mutual exclusive的,三个email可能出现的概率也没有规律,可能都有可能有1/2个可能一个也没有,也没有任何priority。。
目前是分别join了三次再concat到一起然后去掉了duplicates,的确感觉这样效率会很低,不知道还有什么方法更高效些?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表