关于MultiIndex的资料并不太多,官方文档链接请点这里查看。
最近在使用MultiIndex时遇到的一个问题,先描述一下数据格式。我使用MultiIndex DataFrame来存储股票未来N天的收益率,变量命名为returns,数据样例如下,columns 1d和5d分别表示未来1天和5天的股票收益率,index为MultiIndex,第一级索引为日期,第二级索引为股票代码。
| |
对returns用start=‘2020-01-01’、end=‘2020-12-11’起止时间做了截断处理,代码片段如下:
| |
这样获取的数据是从2020年开始的,但是使用returns.index.levels[0]发现数据还是从2005年开始的
| |
想了想,应该是由于index索引不可变,这里需要重建MultiIndex DataFrame,需要用到pandas.MultiIndex.remove_unused_levels() 方法先删除掉index里多余的信息,然后再重新创建MultiIndex DataFrame,代码如下:
| |
| |
看输出结果已经获取到了正确的时间范围内的数据。