Beispiel #1
0
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
Beispiel #2
0
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)
Beispiel #3
0
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)
Beispiel #4
0
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)
Beispiel #5
0
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
Beispiel #6
0
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)
Beispiel #7
0
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()
Beispiel #8
0
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)
Beispiel #9
0
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)
Beispiel #10
0
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()