def product_report(date): api_list = ['product_list', 'home', 'product'] #api_list=['home','product','article','product_list','cart','order','topic_list','topic_view','topic_create','private_msg','reply','topic_like','topic_follow','device'] al_df = pd.concat(da.getOneDayUnionDf(date, api_list)) al_df = al_df.sort('time', ascending=True) al_df['action'] = al_df['time'] + '&' + al_df['api_tag'] + '&' + al_df[ 'values'].map(str) al_df['uuid'] = al_df['app_id'] + ' ' + al_df['device_id'] grouped = al_df.groupby('uuid') actions = grouped['action'].agg(' , '.join) result = grouped['api_tag'].agg(','.join).map(combine).value_counts() total = sum(result) typed_product_list = [] for key in actions.keys(): typed_product_list += getViewProductType(key, actions.get(key, '')) result_df = pd.DataFrame(typed_product_list, columns=[ 'api_key', 'device_id', 'time', 'api_type', 'value', 'from_type' ]) result_df['count'] = 1 typed_product_list = result_df.groupby(['value', 'from_type'])['count'].sum() print type(typed_product_list) total = 0 for key in typed_product_list.keys(): product_id, from_type = key num = typed_product_list.get(key, 0) total += num print product_id, from_type, num
def getCommunityDfs(date, device_ids): c_list = [ 'topic_list', 'topic_view', 'topic_create', 'private_msg', 'reply', 'topic_like', 'topic_follow' ] all_dfs = da.getOneDayUnionDf(date, c_list) targetDevices_dfs = map(lambda x: targetDevicesDf(x, device_ids), all_dfs) return pd.concat(targetDevices_dfs)
def product_pv_statics(date): #print pr_format.format('new','active','pv','new_user_order','all_order','date') home_df,device_df,product_df,order_df=da.getOneDayUnionDf(date,['home','device','product','order']) new_user_devices=device_df['device_id'].unique() return pr_format.format(len(home_df['device_id'].unique()),\ len(new_user_devices),\ len(product_df),\ len(order_df[order_df['device_id'].isin(new_user_devices)]),\ len(order_df),date)
def product_pv_statics(date): #print pr_format.format('new','active','pv','new_user_order','all_order','date') home_df, device_df, product_df, order_df = da.getOneDayUnionDf( date, ['home', 'device', 'product', 'order']) new_user_devices = device_df['device_id'].unique() return pr_format.format(len(home_df['device_id'].unique()),\ len(new_user_devices),\ len(product_df),\ len(order_df[order_df['device_id'].isin(new_user_devices)]),\ len(order_df),date)
def product_report(date): api_list=['product_list','home','product'] #api_list=['home','product','article','product_list','cart','order','topic_list','topic_view','topic_create','private_msg','reply','topic_like','topic_follow','device'] al_df=pd.concat(da.getOneDayUnionDf(date,api_list)) al_df=al_df.sort('time',ascending=True) al_df['action']=al_df['time']+'&'+al_df['api_tag']+'&'+al_df['values'].map(str) al_df['uuid']=al_df['app_id']+' '+al_df['device_id'] grouped=al_df.groupby('uuid') actions=grouped['action'].agg(' , '.join) result=grouped['api_tag'].agg(','.join).map(combine).value_counts() total=sum(result) typed_product_list=[] for key in actions.keys(): typed_product_list+=getViewProductType(key,actions.get(key,'')) result_df=pd.DataFrame(typed_product_list,columns=['api_key','device_id','time','api_type','value','from_type']) result_df['count']=1 typed_product_list=result_df.groupby(['value','from_type'])['count'].sum() print type(typed_product_list) total=0 for key in typed_product_list.keys(): product_id,from_type=key num=typed_product_list.get(key,0) total+=num print product_id,from_type,num
def getTargetDevicesDfs(datetime, device_ids): import data_mining as dm all_dfs = da.getOneDayUnionDf(datetime, dm.all_api_list) targetDevices_dfs = map(lambda x: targetDevicesDf(x, device_ids), all_dfs) return pd.concat(targetDevices_dfs)
def getActiveUserdevices(date): c_list = [ 'topic_list', 'topic_view', 'topic_create', 'private_msg', 'reply', 'topic_like', 'topic_follow' ] return pd.concat(da.getOneDayUnionDf(date, c_list))['device_id'].unique()
def getCommunityDfs(date,device_ids): c_list=['topic_list','topic_view','topic_create','private_msg','reply','topic_like','topic_follow'] all_dfs=da.getOneDayUnionDf(date,c_list) targetDevices_dfs=map(lambda x:targetDevicesDf(x,device_ids),all_dfs) return pd.concat(targetDevices_dfs)
def getTargetDevicesDfs(datetime,device_ids): import data_mining as dm all_dfs=da.getOneDayUnionDf(datetime,dm.all_api_list) targetDevices_dfs=map(lambda x:targetDevicesDf(x,device_ids),all_dfs) return pd.concat(targetDevices_dfs)
def getActiveUserdevices(date): c_list=['topic_list','topic_view','topic_create','private_msg','reply','topic_like','topic_follow'] return pd.concat(da.getOneDayUnionDf(date,c_list))['device_id'].unique()