计算Pandas分组对象中的唯一值

2024-04-20 10:54:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我在pandas/python中有一个表,我正在执行以下操作:

grouped_data = df_comments_cols['article_id'].groupby(df_comments_cols['user_id'])

现在要计算每个用户的文章数,我执行以下操作:

ct_grouped_data = grouped_data.count()

上面统计每个用户的文章id的数量。然而,有时每个用户有多个相同的文章id(从某种意义上说,一个用户已经与该文章进行了多次交互),我只想计算每个用户的唯一文章id—有没有一种快速的方法来做到这一点?在

提前谢谢。在


Tags: 用户idpandasdfdata数量countarticle
1条回答
网友
1楼 · 发布于 2024-04-20 10:54:44

我想您可能需要的是nunique,您可以像这样调用GroupBy对象:

In [63]: df = DataFrame({'a': randn(1000, 1)})

In [64]: df['user_id'] = randint(100, 1000, size=len(df))

In [65]: df['article_id'] = randint(100, size=len(df))

In [66]: gb = df.article_id.groupby(df.user_id)

In [67]: gb.nunique()
Out[67]:
user_id
100        2
101        1
102        1
104        2
105        1
106        2
107        1
110        1
111        4
112        2
113        1
114        2
115        1
116        1
118        1
...
976        3
980        1
982        1
983        1
986        1
987        1
988        1
989        2
990        1
993        1
994        2
996        1
997        1
998        1
999        1
Length: 617, dtype: int64

相关问题 更多 >