我想要一个25小时偏移的熊猫时期范围,我看到有两种方法可以做到这一点(见这里):
第一种方法是使用freq=25H,我尝试过,并给了我正确的答案:
import pandas as pd
pd.period_range(start='2016-01-01 10:00', freq = '25H', periods = 10)
Run Code Online (Sandbox Code Playgroud)
结果是
PeriodIndex(['2016-01-01 10:00', '2016-01-02 11:00', '2016-01-03 12:00',
'2016-01-04 13:00', '2016-01-05 14:00', '2016-01-06 15:00',
'2016-01-07 16:00', '2016-01-08 17:00', '2016-01-09 18:00',
'2016-01-10 19:00'],
dtype='int64', freq='25H')
Run Code Online (Sandbox Code Playgroud)
freq=1D1H然而,第二种方式使用了一个相当奇怪的结果:
pd.period_range(start='2016-01-01 10:00', freq = '1D1H', periods = 10)
Run Code Online (Sandbox Code Playgroud)
我得到了
PeriodIndex(['1971-12-02 01:00', '1971-12-02 02:00', '1971-12-02 03:00',
'1971-12-02 04:00', '1971-12-02 05:00', '1971-12-02 06:00',
'1971-12-02 07:00', '1971-12-02 08:00', '1971-12-02 09:00',
'1971-12-02 10:00'],
dtype='int64', freq='25H')
Run Code Online (Sandbox Code Playgroud)
那么也许1D1H不是指定频率的有效方法?怎么回事1971?(我也尝试使用1D1H该date_range()方法的频率,这确实得到了正确的答案.)
pd.date_range('2016-01-01 10:00', freq = '1D1H', periods = 10)
DatetimeIndex(['2016-01-01 10:00:00', '2016-01-02 11:00:00',
'2016-01-03 12:00:00', '2016-01-04 13:00:00',
'2016-01-05 14:00:00', '2016-01-06 15:00:00',
'2016-01-07 16:00:00', '2016-01-08 17:00:00',
'2016-01-09 18:00:00', '2016-01-10 19:00:00'],
dtype='datetime64[ns]', freq='25H')
Run Code Online (Sandbox Code Playgroud)
编辑:似乎period_range()虽然freq=1D1H不起作用,但确实freq=1H1D如此.原因尚不清楚.
编辑2:这已被确定为一个错误,请参阅下面的答案.
| 归档时间: |
|
| 查看次数: |
322 次 |
| 最近记录: |