我有一个熊猫数据框,其中包含该用户在几天内的用户ID和广告点击次数(如果有)
df =pd.DataFrame([['A',0], ['A',1], ['A',0], ['B',0], ['B',0], ['B',0], ['B',1], ['B',1], ['B',1]],columns=['user_id', 'click_count'])
Out[8]:
user_id click_count
0 A 0
1 A 1
2 A 0
3 B 0
4 B 0
5 B 0
6 B 1
7 B 1
8 B 1
我想将此数据帧转换为每个用户有1行的数据帧,其中“ click_cnt”现在是原始数据帧中每个用户的所有行中所有click_count的总和,即
Out[18]:
user_id click_cnt
0 A 1
1 B 3
答案 0 :(得分:1)
您所追求的是函数groupby
:
df = df.groupby('user_id', as_index=False).sum()
添加标志as_index=False
会将键添加为单独的列,而不是将其用于新索引。
groupby
非常有用-have a read through the documentation for more info.