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