说明
这里的标准是以分钟级为刻度,和时间戳对齐的意思
之前提到过,我的分析将着重在分钟级。目前看来很多应用没有这个东西就不好往下推了(To Data Mill
)。
本篇简述生成时间轴的方法,以及一个最简单的变换函数。
内容
生成一个时间轴数据(可以认为是元数据)作为准静态数据,使用时下载到本地再执行函数即可。
1 生成方法
生成时间轴不能一次映射,先映射天,再映射时/分
之前估算过,如果要进行完整的一一映射,分钟级的时间轴至少420M
(天级别的不到300k),这样就很不便于分布式使用。
从万年历的角度,其实只有天是比较麻烦的(有闰月/年),时分秒可以采用固定的算式。
下面是根据万年历的方法生成天,并获取每天起始时间戳。
###cell split###
date_list = fs.get_standard_date_list('1970-01-01', '2099-12-31')
###cell split###
atimer = fs.ATimer(base_year=1970, next_years=200,time_zone=0)
###cell split###
date_ts_list = [atimer.dt2seconds(x) for x in date_list]
###cell split###
tx_df = pd.DataFrame()
###cell split###
tx_df['dt'] = date_list
###cell split###
tx_df['dt_ts'] = tx_df['dt'] .apply(atimer.dt2seconds)
###cell split###
tx_df['dt_ym'] = tx_df['dt'].apply(lambda x: x[:7])
###cell split###
tx_df['dt_yr'] = tx_df['dt'].apply(lambda x: x[:4])
###cell split###
检查日期
日、月、年及起始时间戳