我有以下示例数据框:
df_temp = pd.DataFrame(np.arange(6).reshape(3,-1),
index=(0,1,2),
columns=pd.MultiIndex.from_tuples([('A', 'Salad'),('B','Burger')]))
我想将列('A','Salad')放入另一个数据框,该数据框可能为空或已经具有此列。
是df_output为空或df_b中已存在该列的情况。
df_output = pd.concat([df_output, df_temp], axis=1)
如果该列已存在,则将其替换。但是,如果df_output为空,则将多级索引转换为我不想要的单行。
df_output已经具有一列的情况是
添加后的外观如何:
我正在尝试使用concat
,但是列的多索引级别正在消失。
答案 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