问题
【问题一】 如何对date_range进行批量加帧操作或对某一时间段加大时间戳密度?
pd.date_range().append()
【问题二】 如何批量增加TimeStamp的精度?
【问题三】 对于超出处理时间的时间点,是否真的完全没有处理方法?
【问题四】 给定一组非连续的日期,怎么快速找出位于其最大日期和最小日期之间,且没有出现在该组日期中的日期?
练习
【练习一】 现有一份关于某超市牛奶销售额的时间序列数据,请完成下列问题:
(a)销售额出现最大值的是星期几?(提示:利用dayofweek函数)
# parse_dates可以解析日期
df_1 = pd.read_csv('../data/time_series_one.csv', parse_dates=['日期'])
df_1
df_1.loc[df_1['销售额'].idxmax()]
日期 2019-09-01 00:00:00
销售额 4333
Name: 926, dtype: object
pd.Series(pd.to_datetime('2019-9-1')).dt.dayofweek
# 这里说明一下,在dayofweek中6表示的是星期天,0表示的是星期一,当然这里的0是索引不是表示星期一
0 6
dtype: int64
(b)计算除去春节、国庆、五一节假日的月度销售总额
holiday = pd.date_range(start='20170501', end='20170503').append(
pd.date_range(start='20171001', end='20171007')).append(
pd.date_range(start='20180215', end='20180221')).append(
pd.date_range(start='20180501', end='20180503')).append(
pd.date_range(start='20181001', end='20181007')).append(
pd.date_range(start='20190204', end='20190224')).append(
pd.date_range(start='20190501', end='20190503'))