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

Error caused by merging two tables in python

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

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

我在使用 client_id 时遇到错误,我不知道是什么原因造成的。

您正在合并 allclients,它肯定有一个 client_id 列,而 dataframe2[['owner_email','trk_hs_owner']] 不能:您将它切成两列 'owner_email''trk_hs_owner' .

你应该使用:

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

此语句仅选择 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')

dataframe2 不包含 client_id column.If client_id 列在 dataframe2 中,你也需要 select 如果它以不同的名称存在那么您需要指定左右列名称。 两种可能的解决方案是:

如果两者的列名相同 table:

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

如果两者的列名不同table:

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