pandas DataFrame中一列的值的频率计数

5
请帮我找到一个解决这个问题的方案: 我有一个包含网站访客及其访问日期的 Pandas DataFrame。 现在,我想知道有多少人访问一次、两次等等。
我从一个表格开始:
Visitor |   Date
---------------------
   A    |    Jan-1st
   B    |    Jan-1st
   C    |    Jan-2nd
   D    |    Jan-2nd
   A    |    Jan-2nd

我希望最终得到的结果是:

Frequency |  No. of
of visits |  visitors
-----------------------
   1      |      3
   2      |      1
1个回答

7

Visitor列使用value_count函数进行两次计数。

In [182]: df.Visitor.value_counts().value_counts()
Out[182]:
1    3
2    1

详情

首先获取访问者的访问次数,然后将相似的计数进行分组。

In [183]: df.Visitor.value_counts()
Out[183]:
A    2
D    1
B    1
C    1
Name: Visitor, dtype: int64

In [188]: (df.Visitor.value_counts()
             .value_counts()
             .reset_index()
             .rename(columns={'index': 'Freq of visits', 'Visitor': 'No. of visitors'}))
Out[188]:
   Freq of visits  No. of visitors
0               1                3
1               2                1

非常感谢你! - Andreas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接