为了账号安全,请及时绑定邮箱和手机立即绑定

在python中合并两个表导致的错误

在python中合并两个表导致的错误

qq_遁去的一_1 2022-10-11 15:11:03
我想将两个表合并到一个表中,我的所有客户都有重要的指标,第二个 client_id 有客户的电子邮件。我试图这样做:import pandas as pdresult = pd.merge(allclients, dataframe2[['owner_email','trk_hs_owner']], on='client_id')我的 client_id 出现错误,我不知道是什么原因造成的。
查看完整描述

3 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

您正在合并allclients肯定有一client_iddataframe2[['owner_email','trk_hs_owner']]不能:您将它切成只有 2 列'owner_email''trk_hs_owner'.

你应该使用:

result = pd.merge(allclients, dataframe2[['client_id','owner_email','trk_hs_owner']],
                  on='client_id')


查看完整回答
反对 回复 2022-10-11
?
www说

TA贡献1775条经验 获得超8个赞

dataframe2 不包含 client_id 列。如果 dataframe2 中有 client_id 列,您也需要选择它,如果它存在一些不同的名称,那么您需要指定左右列名称。两种可能的解决方案是:

如果两个表中的列名相同:

pd.merge(allclients, dataframe2[['client_id','owner_email','trk_hs_owner']], on='client_id')

如果两个表中的列名不同:

pd.merge(allclients, dataframe2[['diff_col_name','owner_email','trk_hs_owner']],left_on='client_id',right_on='diff_col_name')



查看完整回答
反对 回复 2022-10-11
?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

此语句仅选择 dataframe2 的两列:

dataframe2[['owner_email','trk_hs_owner']]

这会删除 client_id 列。因此,之后您将无法加入 client_id。

尝试:

pd.merge(allclients, dataframe2[['owner_email','trk_hs_owner', 'client_id']], on='client_id')



查看完整回答
反对 回复 2022-10-11
  • 3 回答
  • 0 关注
  • 127 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号