首页 > 解决方案 > 如何在 pandas Dataframe 中创建多级标题?

问题描述

我想创建一个这样的数据框标题:在此处输入图像描述

作为初学者,我只能试试这个:

Final=pd.MultiIndex.from_product([['Before','After'],['Total', 'Time','Year'],['Day','Month']])

如何创建标题?任何建议将不胜感激。提前致谢。

标签: pythonpandasdataframe

解决方案


我觉得这里有点复杂Multiindex,所以可以创建元组传递给MultiIndex.from_tuples. Always 必须指定所有 3 个级别,因此Total使用空字符串:

tuples = [('Before','Total',''),
          ('Before','Time1','AM'),
          ('Before','Time1','PM'),
          ('Before','Year1','Day'),
          ('Before','Year1','Month'),
          ('After','Total',''),
          ('After','Time1','AM'),
          ('After','Time1','PM'),
          ('After','Year1','Day'),
          ('After','Year1','Month')]
           
Final=pd.MultiIndex.from_tuples(tuples)

df = pd.DataFrame(index=[1,2], columns=Final)
print (df)
  Before                        After                       
   Total Time1      Year1       Total Time1      Year1      
            AM   PM   Day Month          AM   PM   Day Month
1    NaN   NaN  NaN   NaN   NaN   NaN   NaN  NaN   NaN   NaN
2    NaN   NaN  NaN   NaN   NaN   NaN   NaN  NaN   NaN   NaN

推荐阅读