使用 python pandas(但对任何其他解决方案开放),我想对 DataFrame 进行上采样,同时保留我输入文件中的最后一个日期。的默认工作方式DataFrame.resample
是计算该月的最后一天。这是我的例子:
>>> import pandas as pd
>>> import numpy as np
>>> begin = pd.datetime(2013,1,1)
>>> end = pd.datetime(2013,2,20)
>>> dtrange = pd.date_range(begin, end, freq='5D')
>>> values = np.random.rand(len(dtrange))*10
>>> df = pd.DataFrame({'values': values}, index=dtrange)
>>> df
values
2013-01-01 7.763089
2013-01-06 6.032173
2013-01-11 9.747979
2013-01-16 0.856741
2013-01-21 7.111047
2013-01-26 2.654279
2013-01-31 5.222770
2013-02-05 9.578846
2013-02-10 5.088311
2013-02-15 4.193273
2013-02-20 3.345553
>>> df.resample('M', how='last')
values
2013-01-31 5.222770
2013-02-28 3.345553
我期望的输出是:
values
2013-01-31 5.222770
2013-02-20 3.345553
请注意日期 2013-02-20。这是我输入数据中的真实日期,而不是由resample
.