Python 不在熊猫面板上工作的间隔时间

Python 不在熊猫面板上工作的间隔时间,python,pandas,indexing,panel,Python,Pandas,Indexing,Panel,在pandas面板对象中定义了between_time方法,我希望该方法应用于面板中的所有数据帧,但这不起作用。那么这个方法在做什么呢 范例 rng = pd.date_range('1/1/2013',periods=100,freq='D') data = np.random.randn(100, 4) cols = ['A','B','C','D'] df1, df2, df3 = pd.DataFrame(data, rng, cols), pd.DataFrame(data, rng,

在pandas面板对象中定义了between_time方法,我希望该方法应用于面板中的所有数据帧,但这不起作用。那么这个方法在做什么呢

范例

rng = pd.date_range('1/1/2013',periods=100,freq='D')
data = np.random.randn(100, 4)
cols = ['A','B','C','D']
df1, df2, df3 = pd.DataFrame(data, rng, cols), pd.DataFrame(data, rng, cols), pd.DataFrame(data, rng, cols)
pf = pd.Panel({'df1':df1,'df2':df2,'df3':df3})
pf.between_time('08:00:00', '09:00:00')
上面的代码返回此错误

回溯(最近一次调用):文件“”,第1行,在 文件 “/usr/lib64/python2.7/site packages/pandas-0.14.0-py2.7-linux-x86_64.egg/pandas/core/generic.py”, 第2796行,在\u时间之间 raise TypeError('索引必须是DatetimeIndex')类型错误:索引必须是DatetimeIndex


实际上,您没有任何可以选择的时间,所以我稍微更改了您的示例(您使用的是D频率)


这里是一个增强问题,添加轴支持,拉请求欢迎!
In [17]: rng = pd.date_range('1/1/2013',periods=100,freq='H')

In [18]: data = np.random.randn(100, 4)

In [19]: df1, df2, df3 = pd.DataFrame(data, rng, cols), pd.DataFrame(data, rng, cols), pd.DataFrame(data, rng, cols)

In [20]: pf = pd.Panel({'df1':df1,'df2':df2,'df3':df3})

In [21]: pf
Out[21]: 
<class 'pandas.core.panel.Panel'>
Dimensions: 3 (items) x 100 (major_axis) x 4 (minor_axis)
Items axis: df1 to df3
Major_axis axis: 2013-01-01 00:00:00 to 2013-01-05 03:00:00
Minor_axis axis: A to D
In [22]: indexer = pf.major_axis.indexer_between_time('08:00','09:00')

In [23]: pf.take(indexer,axis='major')
Out[23]: 
<class 'pandas.core.panel.Panel'>
Dimensions: 3 (items) x 8 (major_axis) x 4 (minor_axis)
Items axis: df1 to df3
Major_axis axis: 2013-01-01 08:00:00 to 2013-01-04 09:00:00
Minor_axis axis: A to D