给定(任意)datetimeindex的Pandas重新采样(使用例如最近的)

时间:2017-05-18 15:57:54

标签: python pandas

是否可以将pandas.resample与给定(任意)DatetimeIndex一起使用(在给定时间窗口使用例如nearest选项),而不是常规日期的rule字符串?

编辑:

示例:

dates = pd.DatetimeIndex(['2000-01-01 12:00:00', '2000-01-03 13:00:00', '2000-01-05 15:00:00', '2000-01-09 10:00:00'])
df = pd.DataFrame({'dummy': dates}, index=dates)
custom_dates = pd.DatetimeIndex(['2000-01-02 09:00:00', '2000-01-05 22:00:00', '2000-01-10 15:00:00'])
new_df = df.resample(custom_dates, method='nearest')

new_df现在应该具有DatetimeIndex custom_dates和来自df的列。

1 个答案:

答案 0 :(得分:1)

可能有点迟了,但这是一个使用reindex支持您所需的nearest选项的解决方案:

import pandas as pd

dates = pd.DatetimeIndex(['2000-01-01 12:00:00', '2000-01-03 13:00:00', '2000-01-05 15:00:00', '2000-01-09 10:00:00'])
df = pd.DataFrame({'dummy': dates}, index=dates)
custom_dates = pd.DatetimeIndex(['2000-01-02 09:00:00', '2000-01-05 22:00:00', '2000-01-10 15:00:00'])

df.reindex(custom_dates, method='nearest', tolerance=pd.Timedelta(2, 'D'))

输出:

                    dummy
2000-01-02 09:00:00 2000-01-01 12:00:00
2000-01-05 22:00:00 2000-01-05 15:00:00
2000-01-10 15:00:00 2000-01-09 10:00:00