Python 不在熊猫面板上工作的间隔时间
在pandas面板对象中定义了between_time方法,我希望该方法应用于面板中的所有数据帧,但这不起作用。那么这个方法在做什么呢 范例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,
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