python - Pandas groupby 计数返回错误计数

标签 python datetime pandas rollup

我正在尝试从以下格式的简单文件中绘制每个月的事件汇总。

4/7/13  1
4/15/13 1
4/16/13 1
4/17/13 1
4/20/13 1
5/2/13  1
5/3/13  1
5/3/13  1
5/6/13  1
5/9/13  1
5/12/13 1
5/16/13 1
5/16/13 1
5/16/13 1
5/26/13 1
5/29/13 1
6/5/13  1
6/7/13  1
6/14/13 1
6/24/13 1
6/25/13 1
6/26/13 1
6/26/13 1
6/28/13 1
6/30/13 1

所以,我想要一个卷起来

4/30/13     5
5/31/13     11
6/30/13     8

我尝试了以下代码:

import pandas as pd
import datetime
import numpy as np

grouper = pd.TimeGrouper('1M')
# set index of dataframe to date
a1 = df.set_index('Date')
# create a series object with just the column i want to rollup.
seriesO = a1['Outlier ']
grouped1 = seriesO.groupby(grouper).aggregate(np.size)
grouped1

结果是:

2013-04-30     0
2013-05-31    48
2013-06-30     9

有什么想法吗?

最佳答案

不建议在 <= 0.13.1 中这样做(但在 master/0.14 中可以正常工作)。因为它需要确保事物已排序(并且没有记录在任何地方)。

In [13]: s.groupby(pd.TimeGrouper('1M')).agg(np.size)
Out[13]: 
0
2013-04-30     5
2013-05-31    11
2013-06-30     9
Freq: M, dtype: int64

首选方法如下(适用于任何版本)

In [14]: s.resample('1M',how='count')
Out[14]: 
0
2013-04-30     5
2013-05-31    11
2013-06-30     9
Freq: M, dtype: int64

关于python - Pandas groupby 计数返回错误计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23433115/

相关文章:

datetime - 在 Lua 中将日期时间格式转换为另一种日期时间格式

python - 使用日期格式设置 X 轴格式

php - 无法通过PHP导入PIL

Python 3 : in a text file, 获取字符串在其出现的 y 行中出现的 x 次

python - 如何获取hhh :mm datetime format with Python?

python - Pandas 根据列名删除列

python - 如何选择满足条件的 Pandas 数据框行并使用结​​果创建新数据框

python - 从 {index : list of row values} 形式的字典构造 Pandas DataFrame

python - 如何在 Python3 中实现 Javascript String.fromCharCode 以接受减号

python - 在python中获取随机 bool 值?