用小时分辨率时间戳创建8760数据帧
问题描述:
有点天真的问题。我想创建一个以小时分辨率(8760值)为单位的完整日历年的dataframe
。我如何操作教程中的以下几行来提取上一年的数据。用小时分辨率时间戳创建8760数据帧
start = pd.Timestamp(datetime.date.today(), tz=time_zone) #used for testing
end = start + pd.Timedelta(days=365) #to get all day values
基本上我想2016年1月1日取代today()
,再拉历史的预测值,我的分析。
答
你可以从任何你结束日期减去一年打造start
是:
date_str = '1/1/2016'
start = pd.to_datetime(date_str) - pd.Timedelta(days=365)
hourly_periods = 8760
drange = pd.date_range(start, periods=hourly_periods, freq='H')
然后,当你准备做一个数据帧,设置index=drange
,如:
# toy example data
data = list(range(len(drange)))
# create data frame with drange index
df = pd.DataFrame(data, index=drange)
有关date_range和Timedeltas的更多信息,请参阅Pandas文档。