在熊猫中加入 dfs 时的关键错误



我有一个包含以下列的数据帧:

df1:
Index(['cnpj', '#CNAE', 'Estado', 'Capital_Social', '#CNAEpai', '#CNAEvo',
   '#CNAEbisavo', 'Porte'],
  dtype='object')

我有另一个包含这些列的数据框:

df2:
Index(['#CNAEpai', 'ROA_t12_Peers_CNAEpai', 'MgBruta_t12_Peers_CNAEpai',
   'MgEBITDA_t12_Peers_CNAEpai', 'LiqCorrente_t12_Peers_CNAEpai',
   'Crescimento_t12_Peers_CNAEpai', 'MgLucro_t12_Peers_CNAEpai',
   'Custo/Receita_t12_Peers_CNAEpai', 'Passivo/EBITDA_t12_Peers_CNAEpai',
   'ROE_t12_Peers_CNAEpai', 'RFinanceiro/Receita_t12_Peers_CNAEpai',
   'cnpj_t12_Peers_CNAEpai', 'LiqGeral_t12_Peers_CNAEpai'],
  dtype='object')

我正在尝试加入他们,使用以下行:

df1=df1.join(df2,on=['#CNAEpai'],how='left',rsuffix='_bbb')

但是我收到此错误:

KeyError: '#CNAEpai'

既然两个 dfs 中的列不应该发生 #CNAEpai 对吗?这是怎么回事?

如@root所示,pd.DataFrame.join联接索引上索引或列上索引,但不是列上索引。

要联接列,请使用pd.DataFrame.merge

df1 = df1.merge(df2, on='#CNAEpai', how='left', rsuffix='_bbb')

最新更新