我正在提取功能以寻找工作日 . 到目前为止我所拥有的是:
days = {0:'Mon', 1: 'Tues', 2:'Wed', 3:'Thurs', 4:'Fri', 5:'Sat', 6:'Sun'}
data['day_of_week'] = data['day_of_week'].apply(lambda x: days[x])
data['if_Weekday'] = np.where( (data['day_of_week'] == 'Mon') | (data['day_of_week'] == 'Tues') | (data['day_of_week'] == 'Wed') | (data['day_of_week'] == 'Thurs') | (data['day_of_week'] == 'Friday'), '1', '0')
此代码将Mon-Fri指定为 1
,将Sat-Sun指定为 0
. 但是,我想为工作日分配不同的值 . 例如,Mon = 1,Tues = 2,Wed = 3,Thurs = 4,Fri = 5,Sat和Sun都应该等于0 .
任何帮助将非常感激 .
2 回答
我想你可以使用mask:
好吧我认为最简单的方法是使用
np.where
来测试工作日是否大于或等于5,如果是,则分配0
,否则返回工作日值并添加1
: