当我了解到有可能将熊猫数据结构的轴命名(特别是面板)时,我很兴奋。我现在命名了我的轴,标记了一些图,轴名称显示在mypanel.axes
。
那么我想,嗯,好像我应该能够使用我的轴名来代替items
,major_axis
和minor_axis
。我试过了mypanel.transpose('ground_type', 'volcano', 'date')
,当我没有工作时我感到很难过。我无法找到关于pandas轴名称的任何一般文档。
所以,我的问题是:轴名称的用途是什么?
让我再次对他们感到兴奋!
答案 0 :(得分:1)
Panel
结构相比, pandas
稍微不那么发达,所以据我所知,命名轴不能用得多。 transpose
用例似乎是合理的,可能值得提出问题。
需要考虑的两个备选方案 - 一种是将Panel
存储为DataFrame
并添加MultiIndex
,这样可以更好地支持命名级别。例如:
In [29]: from pandas.io.data import DataReader
In [30]: pnl = DataReader(['GOOG','AAPL'], 'yahoo')
In [31]: pnl.major_axis.name = 'date'
In [32]: pnl.minor_axis.name = 'ticker'
In [33]: pnl.items.name = 'measure'
In [34]: df = pnl.to_frame()
In [35]: df.unstack(level='ticker').stack(level='measure')
Out[35]:
ticker AAPL GOOG
date measure
2010-01-04 Open 2.134300e+02 NaN
High 2.145000e+02 NaN
Low 2.123800e+02 NaN
Close 2.140100e+02 NaN
....
另一种方法是查看xray
,它基本上是pandas
中各想法的ND扩展。它具有在更深层次上内置命名轴的概念。