pandas DataFrame列中值的频率计数

时间:2017-02-01 09:34:27

标签: python pandas

请帮我找到解决方法: 我有一个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 个答案:

答案 0 :(得分:6)

value_count列上使用Visitor两次。

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