将多索引级别的数据框添加到另一个数据框

时间:2019-10-16 11:41:06

标签: python pandas dataframe

我有以下示例数据框:

df_temp = pd.DataFrame(np.arange(6).reshape(3,-1),
                                        index=(0,1,2),
                                        columns=pd.MultiIndex.from_tuples([('A', 'Salad'),('B','Burger')]))

enter image description here

我想将列('A','Salad')放入另一个数据框,该数据框可能为空或已经具有此列。

是df_output为空或df_b中已存在该列的情况。

df_output = pd.concat([df_output, df_temp], axis=1)

enter image description here

如果该列已存在,则将其替换。但是,如果df_output为空,则将多级索引转换为我不想要的单行。

df_output已经具有一列的情况是

enter image description here

添加后的外观如何:

enter image description here

我正在尝试使用concat,但是列的多索引级别正在消失。

1 个答案:

答案 0 :(得分:0)

尽管我相信可以做得更好,但我设法通过以下解决方案对其进行了修复:

if len(df_output.columns):
    df_output = pd.concat([df_output, df_temp], axis=1).sort_index(level=0, axis=1)
else:
    df_output = df_temp
相关问题