python – 如何计算点击率
作者:互联网
这是一个例子,我有这个数据;
datetime keyword COUNT
0 2016-01-05 a_click 100
1 2016-01-05 a_pv 200
2 2016-01-05 b_pv 150
3 2016-01-05 b_click 90
4 2016-01-05 c_pv 120
5 2016-01-05 c_click 90
我想将其转换为这些数据
datetime keyword ctr
0 2016-01-05 a 0.5
1 2016-01-05 b 0.6
2 2016-01-05 c 0.75
我可以用脏代码转换数据,但我想以优雅的方式做到这一点.
解决方法:
你可以:
df['action'] = df.keyword.str.split('_').str.get(-1)
df['keyword'] = df.keyword.str.split('_').str.get(0)
df = df.set_index(['datetime', 'keyword', 'action']).unstack().loc[:, 'COUNT']
df['ctr'] = df.click.div(df.pv)
action click pv ctr
datetime keyword
2016-01-05 a 100 200 0.50
b 90 150 0.60
c 90 120 0.75
标签:python,pandas,machine-learning,numpy,data-analysis 来源: https://codeday.me/bug/20190523/1156745.html