ctr.py 2.7 KB
Newer Older
张彦钊's avatar
张彦钊 committed
1 2
import pandas as pd
import pymysql
张彦钊's avatar
张彦钊 committed
3 4
from datetime import datetime
from datetime import timedelta
张彦钊's avatar
张彦钊 committed
5

张彦钊's avatar
张彦钊 committed
6 7

def get_tail8():
8
    sql = "select distinct device_id from data_feed_click \
张彦钊's avatar
张彦钊 committed
9 10
      where stat_date='{}' \
      and cid_type='{}' \
张彦钊's avatar
张彦钊 committed
11
      and device_id regexp '8$';".format(stat_date,cid_type)
12
    db = pymysql.connect(host='10.66.157.22', port=4000, user='root', passwd='3SYz54LS9#^9sBvC', db='jerry_test')
张彦钊's avatar
张彦钊 committed
13 14 15 16 17 18 19 20 21 22 23 24 25 26
    cursor = db.cursor()
    print("开始获取")
    cursor.execute(sql)
    print("成功获取")
    result = cursor.fetchall()
    db.close()
    user = pd.DataFrame(list(result))[0].values.tolist()
    user = tuple(user)
    print("尾号是8的用户个数")
    print(len(user))
    return user


def get_ctr(user_tuple):
27
    sql = "select count(device_id) from data_feed_click \
张彦钊's avatar
张彦钊 committed
28 29 30
              where stat_date='{}' \
              and cid_type='{}' \
              and device_id in {}".format(stat_date, cid_type, user_tuple)
31
    db = pymysql.connect(host='10.66.157.22', port=4000, user='root', passwd='3SYz54LS9#^9sBvC', db='jerry_test')
张彦钊's avatar
张彦钊 committed
32 33 34 35 36 37
    cursor = db.cursor()
    print("开始获取")
    cursor.execute(sql)
    click = cursor.fetchall()[0][0]
    print(click)

38
    sql = "select count(device_id) from data_feed_exposure \
张彦钊's avatar
张彦钊 committed
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
              where stat_date='{}' \
              and cid_type='{}' \
              and device_id in {}".format(stat_date, cid_type, user_tuple)
    cursor = db.cursor()
    print("开始获取")
    cursor.execute(sql)
    exp = cursor.fetchall()[0][0]
    db.close()
    print(exp)
    print(click / exp)


def get_tail6():
    df = pd.read_csv(path+"{}predictTail6Unique.csv".format(stat_date))
    pre_list = tuple(eval(df.loc[0,"list"]))
    print(len(pre_list))
    print(pre_list[:2])
56
    db = pymysql.connect(host='10.66.157.22', port=4000, user='root', passwd='3SYz54LS9#^9sBvC', db='jerry_test')
57
    sql = "select distinct device_id from data_feed_click \
张彦钊's avatar
张彦钊 committed
58 59 60 61 62 63 64 65 66
          where stat_date='{}' \
          and cid_type='{}' \
          and device_id in {}".format(stat_date,cid_type,pre_list)
    cursor = db.cursor()
    print("开始获取")
    cursor.execute(sql)
    print("成功获取")
    result = cursor.fetchall()
    db.close()
张彦钊's avatar
张彦钊 committed
67
    print(pd.DataFrame(list(result)).empty)
张彦钊's avatar
张彦钊 committed
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
    user = pd.DataFrame(list(result))[0].values.tolist()
    user = tuple(user)
    print("用户个数")
    print(len(user))
    return user


if __name__ == "__main__":
    path = "/data/models/"
    cid_type = "diary"
    now = datetime.now()
    year = now.year
    month = now.month
    day = now.day
    stat_date = datetime(year, month, day)
83
    stat_date = (stat_date - timedelta(days=1)).strftime("%Y-%m-%d")
张彦钊's avatar
张彦钊 committed
84 85 86 87 88 89
    print(stat_date)
    tail6 = get_tail6()
    get_ctr(tail6)
    tail8 = get_tail8()
    get_ctr(tail8)

张彦钊's avatar
张彦钊 committed
90 91 92