由于自己临时需要加入一列属性作为数据分析,需要判断一个日期是否是工作日或者节假日
找到一个现成的插件,蛮好用的
https://pypi.org/project/chinesecalendar/
上面有专门的例子,我试了一下:
import datetime
# 判断 2019年9月13号 是不是节假日(中秋节)
from chinese_calendar import is_workday, is_holiday
april_last = datetime.date(2019, 8, 21)
is_workday(april_last)
建立一个专门的列:
##利用插件判断是否工作日
df['is_holiday'] = df['统计日期'].apply(lambda x:is_workday(x))
#onehot
import copy
categoricals = ['is_holiday']
for feature in categoricals:
df1 = copy.copy(pd.get_dummies(df[feature], drop_first=True))
df= pd.concat([df, df1], axis=1)
df.drop(columns=feature, inplace=True)
这里我顺便进行了独热编码
______________________________
这个插件有个bug,就是不能只支持2019年之前的,现在2020年了,用不了
会有这个错:
NotImplementedError: no available data for year 2020, only year between [2004, 2019] supported