我有多级日期框架如何在二级日期中设置日期作为公共索引

时间:2017-02-01 09:25:54

标签: pandas multi-level

我目前有一个多层次的数据框,第一级标题是公司名称,第二级是相应公司的日期,大小和价格。我想将索引设置为日期,因此在第二级中不再有日期。

1 个答案:

答案 0 :(得分:1)

我认为元组需要set_index,重命名index names使用rename_axis

print (df)
        name                
        date    size   price
0 2014-01-08  0.7990  422.65
1 2014-01-09  0.8095  421.26
2 2014-01-10  0.8135  423.35
3 2014-01-13  0.8065  417.78

df = df.set_index(('name','date')).rename_axis(None)
print (df)
              name        
              size   price
2014-01-08  0.7990  422.65
2014-01-09  0.8095  421.26
2014-01-10  0.8135  423.35
2014-01-13  0.8065  417.78

通过评论编辑:

print (df.set_index([('name','date'), ('name','size')]))
                             name
                            price
(name, date) (name, size)        
2014-01-08   0.7990        422.65
2014-01-09   0.8095        421.26
2014-01-10   0.8135        423.35
2014-01-13   0.8065        417.78

df = df.set_index([('name','date'), ('name','size')]).rename_axis(('date', 'size')) 
print (df)
                     name
                    price
date       size          
2014-01-08 0.7990  422.65
2014-01-09 0.8095  421.26
2014-01-10 0.8135  423.35
2014-01-13 0.8065  417.78