gen_action_fea.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:JDcontest 作者: zsyandjyhouse 项目源码 文件源码
def get_accumulate_action_feat(start_time, end_time,action_data):
    actions=action_data[(action_data['time']>=start_time)&(action_data['time']<=end_time)]
    action_data['time'] = pd.to_datetime(action_data['time'],format='%Y-%m-%d %H:%M:%S')
    df = pd.get_dummies(actions['type'], prefix='action')
    actions = pd.concat([actions, df], axis=1) # type: pd.DataFrame
    #?????????
    actions['weights'] = actions['time'].map(lambda x: pd.to_timedelta(end_time-x))
    #actions['weights'] = time.strptime(end_date, '%Y-%m-%d') - actions['datetime']
    actions['weights'] = actions['weights'].map(lambda x: math.exp(-x.days))
    print actions.head(10)
    actions['action_1'] = actions['action_1'] * actions['weights']
    actions['action_2'] = actions['action_2'] * actions['weights']
    actions['action_3'] = actions['action_3'] * actions['weights']
    actions['action_4'] = actions['action_4'] * actions['weights']
    actions['action_5'] = actions['action_5'] * actions['weights']
    actions['action_6'] = actions['action_6'] * actions['weights']
    del actions['model_id']
    del actions['time']
    del actions['weights']
    del actions['cate']
    del actions['brand']
    actions = actions.groupby(['user_id', 'sku_id'], as_index=False).sum()
    actions.fillna(0,inplace=True)

    actions['action_1256']=actions['action_1']+actions['action_2']+actions['action_5']+actions['action_6']
    actions['action_1256_d_4']=actions['action_4']/actions['action_1256']
    del actions['type']
    return actions
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号