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