答案 0 :(得分:3)
尝试使用crosstab
pd.crosstab(df['unique id'],df['keyword'])
答案 1 :(得分:1)
将groupby
apply
与Counter
,untack
和fillna
结合使用:
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