我想将两个表合并到一个表中,我的所有客户都有重要的指标,第二个 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_id
列dataframe2[['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')

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')

慕田峪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')
添加回答
举报
0/150
提交
取消