1.日期-节假日-星期
计算与节假日,以及工作日,周末属性相关的一些指标,代码如下
import pandas as pd
import argparse
from workalendar.asia import China # 节假日计算包
def date_to_week(start_time, end_time):
# 把时间列标准化时间格式
df = pd.DataFrame()
df['date'] = pd.date_range(start=start_time, end=end_time)
df['dayofweek'] = df['date'].dt.dayofweek + 1 # 星期为 1-7
df['date'] = df['date'].map(lambda x: x.strftime('%Y%m%d'))
return df
def cal_festival(year):
cal = China()
lis = []
if type(year) != list: # eval函数就是实现list、dict、tuple与str之间的转化
year = eval(year)
for ye in year:
for x, v in cal.holidays(ye):
lis.append([str(x).replace('-', ''), v])
lis.append(['20190504', 'Labour Day Holiday'])
df = pd.DataFrame(data=lis, columns=['date', 'festival'])
return df
if __na