熊猫将非多索引df和df与多索引列合并

时间:2020-11-09 23:18:14

标签: python pandas dataframe merge

我在这些列中有一个名为la_codes的df:

Index(['LADCD', 'LAD18NM'], dtype='object')

并且我有第二个df,名为overall_absences,这些列:

MultiIndex([('overall_absences',        'LADCD'),
            ('overall_absences',        'Asian'),
            ('overall_absences',        'Black'),
            ('overall_absences',      'Chinese'),
            ('overall_absences',        'Mixed'),
            ('overall_absences',        'Other'),
            ('overall_absences', 'Unclassified'),
            ('overall_absences',        'White')],
           names=[None, 'Ethnicity'])

如果overall_absences没有使用以下内容的多索引,我可以正确地合并它们:

pd.merge(la_codes, overall_absences, how="left", on="LADCD")

但是,我需要添加多索引,因为我将合并具有相同列名的多个数据集,因此需要'overall_absences'进行区分(我不想使用后缀)。我尝试将以下错误合并,但我一直在寻找正确的解决方案。

pd.merge(la_codes, overall_absences, how="left", left_on="LADCD", right_on=["overall_absences", "LADCD"])

还尝试向不起作用的la_codes添加多索引

pd.merge(la_codes, overall_absences, how="left", left_on=["la_codes", "LADCD"], right_on=["overall_absences", "LADCD"])

如何正确执行此操作?

0 个答案:

没有答案