如何按数据框中的数据计算频率? [复制]

Posted

技术标签:

【中文标题】如何按数据框中的数据计算频率? [复制]【英文标题】:How can I count frequency by data in dataframe? [duplicate] 【发布时间】:2021-06-10 07:15:27 【问题描述】:

我对 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()

最好的问候

【问题讨论】:

检查第二个答案。 【参考方案1】:

一种方法是:

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.'])...

【讨论】:

以上是关于如何按数据框中的数据计算频率? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何将列表中的值分配给熊猫数据框并控制每个列表元素在数据框中的分布/频率

如何创建一个计算数据框列中 ID 频率的列?

循环遍历数据框中的列以按类别生成直方图

如何从 r 中的数据框中删除标题行? [复制]

如何通过特定的 ID 号删除数据框中的行? [复制]

如何从 python pandas 中的另一个数据框中检索数据? [复制]