Python 需要DataFrame.resample()来遵守子时段系列开始日期时间

Python 需要DataFrame.resample()来遵守子时段系列开始日期时间,python,pandas,Python,Pandas,我正在使用pandas DataFrame.resample()函数将1分钟频率时间序列数据的采样频率降低到15分钟。原始数据由多个按相同分钟频率排列的时间序列组成,其中每个序列都是元组列表,每个元组定义为(,)。在填充数据帧之前,我将其转换为(,)。下面是一个时间序列示例 start = datetime(2014, 2, 24, 1, 6, 0, tzinfo=pytz.utc) min_ts = dict((start + timedelta(seconds=60) * t, random

我正在使用pandas DataFrame.resample()函数将1分钟频率时间序列数据的采样频率降低到15分钟。原始数据由多个按相同分钟频率排列的时间序列组成,其中每个序列都是元组列表,每个元组定义为
(,)
。在填充数据帧之前,我将其转换为
(,)
。下面是一个时间序列示例

start = datetime(2014, 2, 24, 1, 6, 0, tzinfo=pytz.utc)
min_ts = dict((start + timedelta(seconds=60) * t, random.randint(0,3)) for t in range(1, 30))

 min_ts = 
 {datetime.datetime(2014, 2, 24, 1, 7, tzinfo=<UTC>): 2,
 datetime.datetime(2014, 2, 24, 1, 8, tzinfo=<UTC>): 1,
 datetime.datetime(2014, 2, 24, 1, 9, tzinfo=<UTC>): 0,
 datetime.datetime(2014, 2, 24, 1, 10, tzinfo=<UTC>): 3,
 datetime.datetime(2014, 2, 24, 1, 11, tzinfo=<UTC>): 1,
 datetime.datetime(2014, 2, 24, 1, 12, tzinfo=<UTC>): 0,
 datetime.datetime(2014, 2, 24, 1, 13, tzinfo=<UTC>): 1,
 datetime.datetime(2014, 2, 24, 1, 14, tzinfo=<UTC>): 0,
 datetime.datetime(2014, 2, 24, 1, 15, tzinfo=<UTC>): 3,
 datetime.datetime(2014, 2, 24, 1, 16, tzinfo=<UTC>): 3,
 datetime.datetime(2014, 2, 24, 1, 17, tzinfo=<UTC>): 3,
 datetime.datetime(2014, 2, 24, 1, 18, tzinfo=<UTC>): 1,
 datetime.datetime(2014, 2, 24, 1, 19, tzinfo=<UTC>): 3,
 datetime.datetime(2014, 2, 24, 1, 20, tzinfo=<UTC>): 0,
 datetime.datetime(2014, 2, 24, 1, 21, tzinfo=<UTC>): 2,
 datetime.datetime(2014, 2, 24, 1, 22, tzinfo=<UTC>): 1,
 datetime.datetime(2014, 2, 24, 1, 23, tzinfo=<UTC>): 0,
 datetime.datetime(2014, 2, 24, 1, 24, tzinfo=<UTC>): 3,
 datetime.datetime(2014, 2, 24, 1, 25, tzinfo=<UTC>): 1,
 datetime.datetime(2014, 2, 24, 1, 26, tzinfo=<UTC>): 1,
 datetime.datetime(2014, 2, 24, 1, 27, tzinfo=<UTC>): 2,
 datetime.datetime(2014, 2, 24, 1, 28, tzinfo=<UTC>): 0,
 datetime.datetime(2014, 2, 24, 1, 29, tzinfo=<UTC>): 3,
 datetime.datetime(2014, 2, 24, 1, 30, tzinfo=<UTC>): 2,
 datetime.datetime(2014, 2, 24, 1, 31, tzinfo=<UTC>): 3,
 datetime.datetime(2014, 2, 24, 1, 32, tzinfo=<UTC>): 0,
 datetime.datetime(2014, 2, 24, 1, 33, tzinfo=<UTC>): 3,
 datetime.datetime(2014, 2, 24, 1, 34, tzinfo=<UTC>): 2,
 datetime.datetime(2014, 2, 24, 1, 35, tzinfo=<UTC>): 0}
我想要的结果是

df = 
DateTimeIndex                  values
--------------------------------------
2014-02-24 01:07:00+00:00    23
2014-02-24 01:22:00+00:00    21

(更新以更清楚地反映所需结果)

尝试使用
base
loffset
和/或将标签切换到
left
(这使用了您需要的不同随机种子)


仅供参考。如果您想在何时/如何使用
base
/
loffset
时提供更多示例/解释,我们将不胜感激……请提交拉取请求!
df = 
DateTimeIndex                  values
--------------------------------------
2014-02-24 01:07:00+00:00    23
2014-02-24 01:22:00+00:00    21
In [17]: df.resample('15min', how='sum', label='right')
Out[17]: 
                           values
2014-02-24 01:15:00+00:00      10
2014-02-24 01:30:00+00:00      17
2014-02-24 01:45:00+00:00       7

[3 rows x 1 columns]

In [18]: df.resample('15min', how='sum', label='right',base=7)
Out[18]: 
                           values
2014-02-24 01:22:00+00:00      16
2014-02-24 01:37:00+00:00      18

[2 rows x 1 columns]

In [19]: df.resample('15min', how='sum', label='left',base=7)
Out[19]: 
                           values
2014-02-24 01:07:00+00:00      16
2014-02-24 01:22:00+00:00      18

[2 rows x 1 columns]

In [21]: df.resample('15min', how='sum', label='right',loffset='7T')
Out[21]: 
                           values
2014-02-24 01:22:00+00:00      10
2014-02-24 01:37:00+00:00      17
2014-02-24 01:52:00+00:00       7

[3 rows x 1 columns]

In [22]: df.resample('15min', how='sum', label='left',loffset='7T')
Out[22]: 
                           values
2014-02-24 01:07:00+00:00      10
2014-02-24 01:22:00+00:00      17
2014-02-24 01:37:00+00:00       7

[3 rows x 1 columns]