在pandas数据帧中获取分层多级索引

时间:2014-05-10 02:07:02

标签: python pandas indexing dataframe multi-level

我正在尝试在pandas中创建一个多级索引但是当我打印一个hte数据帧时,我看到这样的东西。

                                           ask   bid
time                type mat        strk            
2014-03-31 13:30:00 C    2014-04-19 1850  32.0  30.6
2014-03-31 13:35:00 C    2014-04-19 1850  32.8  31.2
2014-03-31 13:40:00 C    2014-04-19 1850  31.9  29.9
2014-03-31 13:45:00 C    2014-04-19 1850  31.6  30.1
2014-03-31 13:50:00 C    2014-04-19 1850  32.6  31.2
2014-03-31 13:55:00 C    2014-04-19 1850  33.6  32.1
2014-03-31 14:00:00 C    2014-04-19 1850  34.4  33.0
2014-03-31 14:05:00 C    2014-04-19 1850  33.5  31.9
2014-03-31 14:10:00 C    2014-04-19 1850  34.0  32.2
.....

以上是

的结果
df.set_index(['time', 'type', 'mat', 'strk'], inplace=True)

现在我希望看到更像这样的层次结构

                                           ask   bid
time                type mat        strk            
2014-03-31 13:30:00 C    2014-04-19 1850  32.0  30.6
                                    1860  aaaa  bbbb
                         2014-05-17 1850  xxxx  yyyy
                                    1860  xxxx  yyyy
                    P    2014-04-19 1850  mmmm  nnnn
                                    1860  aaaa  bbbb
                         2014-05-17 1850  xxxx  yyyy
                                    1860  xxxx  yyyy 
2014-03-31 13:35:00 C    2014-04-19 1850  32.8  31.2
2014-03-31 13:40:00 C    2014-04-19 1850  31.9  29.9
2014-03-31 13:45:00 C    2014-04-19 1850  31.6  30.1
2014-03-31 13:50:00 C    2014-04-19 1850  32.6  31.2
2014-03-31 13:55:00 C    2014-04-19 1850  33.6  32.1
2014-03-31 14:00:00 C    2014-04-19 1850  34.4  33.0
2014-03-31 14:05:00 C    2014-04-19 1850  33.5  31.9
2014-03-31 14:10:00 C    2014-04-19 1850  34.0  32.2

我在同一时间有几行 - 2014-03-31 13:30:00 但不知道为什么我没有看到这种情况发生。没有'inplace'选项就试过了。我仍然看到同样的问题。但是在另一个地方,当我在不同的数据帧上执行set_index时,我确实看到了这种层次结构。不知道我在这里缺少什么。

1 个答案:

答案 0 :(得分:1)

对数据框进行排序应该有帮助

df.sort()