如何通过数据框中的数据计算频率?

How can I count frequency by data in dataframe?

我对 pandsa 中的 groupby 有疑问。我的 DF 如下所示:

time    ID
01-13   1
01-13   2
01-14   3
01-15   4
01-15   5

我需要如下结果:

time   ID
01-13  2
01-14  1
01-15  2

所以基本上我需要通过数据来计算频率ID。我对此感到不安,但我不确定结果(df 很大)。任何的想法?感谢帮助

df = df.groupby("Time").Id.value_counts()

此致

一种方法是:

df.time.value_counts()

输出:

01-15    2
01-13    2
01-14    1
Name: time, dtype: int64

其他方式,如上评论者所建议:

df.groupby(['time']).size().reset_index(name='Frequency')

输出:

    time    Frequency
0   01-13   2
1   01-14   1
2   01-15   2

请注意,如果需要,您可以按多个变量分组:

df.groupby(['col1', 'col2', 'etc.'])...