计算每个*唯一*列值的出现次数

时间:2018-11-01 16:13:10

标签: python pandas

我想计算一个列值每个唯一ID的出现次数,并将其存储在新的熊猫数据框中:

数据框(简化):

enter image description here

所需的输出:

enter image description here

关键字为+1.000,并且未知。尝试过通过创建列表并将其压缩的方式进行操作,但效果不佳。

2 个答案:

答案 0 :(得分:3)

尝试使用crosstab

pd.crosstab(df['unique id'],df['keyword'])

答案 1 :(得分:1)

groupby applyCounteruntackfillna结合使用:

from collections import Counter
df.groupby('unique id')['keyword'].apply(Counter).to_frame().unstack(1).fillna(0)

          keyword            
             auto fish mobile
unique id                    
1a            2.0  1.0    1.0
2a            1.0  2.0    1.0
3a            0.0  1.0    0.0