将多索引数据帧分离为pandas中的多个单索引数据帧

时间:2018-01-30 09:12:01

标签: python pandas numpy

我有一个描述库存变动(OHLC)的多指数数据框。指数为datesymbol。数据框如下所示:

                             open   high    low  close  volume
date                symbol
2017-12-03 07:00:00 4005    38.75  38.75  38.75  38.75    2518
2018-01-04 09:58:00 4333    12.06  12.06  12.06  12.06    2000
2018-01-22 10:06:00 4338     9.22   9.22   9.22   9.22      10
2018-01-22 11:23:00 4338     9.22   9.22   9.22   9.22    1000
2017-12-14 08:41:00 4334     9.28   9.28   9.28   9.28       2
2018-01-02 10:19:00 4332    10.30  10.30  10.30  10.30     100
2018-01-09 08:56:00 4332    10.28  10.30  10.28  10.30    1500

有没有办法按符号分隔数据框,以生成以日期为索引的单索引数据框?像这样:

In [1]: df.symbol('4338')
Out[1]:
                      open   high    low  close  volume
date               
2018-01-22 10:06:00   9.22   9.22   9.22   9.22      10
2018-01-22 11:23:00   9.22   9.22   9.22   9.22    1000

非常感谢任何正确方向的指导。

1 个答案:

答案 0 :(得分:1)

最简单的是使用xs

print (df.xs('4338', level=1))
                     open  high   low  close  volume
date                                                
2018-01-22 10:06:00  9.22  9.22  9.22   9.22      10
2018-01-22 11:23:00  9.22  9.22  9.22   9.22    1000

如果值是数字,请使用:

print (df.xs(4338, level=1))