Pandas groupby count返回错误的count

2024-10-02 18:17:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着用下面的格式从一个简单的文件中绘制每个月的事件汇总。在

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

所以,我想要一个像

^{pr2}$

我尝试了以下代码:

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

有什么想法吗??在


Tags: 文件toimportindexa1as格式np
1条回答
网友
1楼 · 发布于 2024-10-02 18:17:36

在<;=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

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

^{pr2}$

相关问题 更多 >