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

我想将两个表合并到一个表中,我的所有客户都有重要的指标,第二个 client_id 有客户的电子邮件。我试图这样做:


import pandas as pd

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

我的 client_id 出现错误,我不知道是什么原因造成的。


qq_遁去的一_1
浏览 178回答 3
3回答

波斯汪

您正在合并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说

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

此语句仅选择 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')
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python