使用熊猫数据帧,尝试获取一个字段的平均计数,并将其分组到另一个字段。我有以下数据帧
user_id tag_number
----------------------
1 xx
1 xx
1 xy
2 xy
2 zz
2 zz
2 zz
我正在尝试获取按user_id
分组的每个唯一tag_number
的平均tag_number
计数。我可以做data.groupby(["user_id", "tag_number"]).size()
以获得以下结果
user_id tag_number
-------------------------
1 xx 2
xy 1
2 xy 1
zz 3
但我正在寻找的是
user_id avg_tag_number_count
------------------------------
1 1.5
2 2.0
因为对于用户 1,在 3 个唯一tag_numbers之间总共有 2 个tag_number实例。对于用户 2,在 2 个唯一tag_numbers之间总共有 4 个tag_number实例。
你需要这个:
data.groupby(["user_id", "tag_number"]).size().groupby(level=0).mean().reset_index().rename(columns={0: 'avg_tag_number_count'})
输出:
user_id avg_tag_number_count
0 1 1.5
1 2 2.0