python - 返回日期时间 DataFrame 中每天唯一列条目的计数

标签 python pandas datetime dataframe

我有一个如下所示的 DataFrame:

            Col1    Col2        Col3    Col4
Datetime                                    
2016-11-01     1    Male  01/11/2016  Durham
2016-11-01     2  Female  01/11/2016  Durham
2016-11-02     3  Female  02/11/2016     New
2016-11-02     4    Male  02/11/2016     Ips
2016-11-03     5    Male  03/11/2016  Durham

我想做的是返回每天 Col4 条目的数量,从而返回如下信息:

            ColA        ColB
Datetime                                    
2016-11-01     Durham   2
2016-11-02     New      1
2016-11-02     Ips      1
2016-11-03     Durham   1

即Durham 在 1 号出现了两次,所以计数为 2。New 和 Ips 在 2 号都出现了一次,所以它们的计数都是 1。最后 Durham 在 3 号出现了一次,所以计数为1.

最终我试图定义一个“频率”,以便我可以按区域定义“热点”。如果某件事每天至少发生一次,那么我将其称为“热点”。

最佳答案

您可以在此处使用 groupby on (Datetime, Col4) + count

df = df.groupby([df.index, df.Col4]).Col4.count().reset_index(level=1, name='ColB')

或者,

df = df.groupby([df.index, df.Col4]).size().reset_index(level=1)

接下来,设置列名称:

df.columns = ['ColA', 'ColB']

df

              ColA  ColB
Datetime                
2016-11-01  Durham     2
2016-11-02     Ips     1
2016-11-02     New     1
2016-11-03  Durham     1

关于python - 返回日期时间 DataFrame 中每天唯一列条目的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48254555/

相关文章:

python - Tensorflow 1.10 TFRecordDataset - 恢复 TFRecord

python - 将网络摄像头数据流式传输到网页

python - 如何使用(最好)正则表达式模式将一列中的值拆分为两列?

javascript - JavaScript 中的日期时间

python - 在 SWIG 中为包含 union 的结构创建类型映射 (Python)

python - 带有空字符的 numpy.genfromtxt csv 文件

python - Pandas:如何在稀疏表中选择具有非零值的列

python - 如何用其他列中相应的 NaN 填充缺失的日期

c# - 将 SYSTEMTIME( native C++)转换为日期时间 (C#)

python - 时间戳以秒为单位返回日期时间的年份