Pandas MultiIndex versus Panel
使用熊猫,使用面板与多索引数据帧的原因是什么?
我个人发现两者在访问不同维度/级别的便利性方面存在显著差异,但这可能只是我更熟悉其中一个和另一个的接口。不过,我认为还有更多实质性的分歧。
在我的实践中,最强烈、最容易看到的区别是面板需要在每个维度上都是相同的。如果将面板视为数据帧堆栈,则无法通过堆叠不同大小或具有不同索引/列的数据帧来创建面板。您确实可以使用多索引处理更多非同构类型的数据。
因此,必须根据数据的组织方式做出第一个选择。
pandas v0.20.1(2017年5月5日)中的面板已被弃用,将在未来版本中删除。建议通过to_frame()或xarray包在数据帧上使用多索引表示三维数据。
参考文献:
- https://pandas.pydata.org/pandas-docs/stable/whatsnew.html v0-20-1-may-5-2017
- https://pandas.pydata.org/pandas-docs/stable/whatsnew.html whatsnew-0200-api-breaking-deprecate-panel