2015-04-01 39 views
0

我是熊猫新手,但现在已经使用python几年了。如何按日分组计算每小时数据并只计算大于熊猫数量的值?

我有一个多列数据的小时数据集。我需要按日对数据进行分组,然后统计每列中每天的值超过85次的次数。

示例数据:

date      KMRY KSNS PCEC1 KFAT           
2014-06-06 13:00:00 56.000000 63.0  17 11 
2014-06-06 14:00:00 58.000000 61.0  17 11 
2014-06-06 15:00:00 63.000000 63.0  16 10 
2014-06-06 16:00:00 67.000000 65.0  12 11 
2014-06-06 17:00:00 67.000000 67.0  10 13 
2014-06-06 18:00:00 72.000000 75.0  9 14 
2014-06-06 19:00:00 77.000000 79.0  9 15 
2014-06-06 20:00:00 84.000000 81.0  9 23 
2014-06-06 21:00:00 81.000000 86.0  12 31 
2014-06-06 22:00:00 84.000000 84.0  13 28 
2014-06-06 23:00:00 83.000000 86.0  15 34 
2014-06-07 00:00:00 84.000000 86.0  16 36 
2014-06-07 01:00:00 86.000000 89.0  17 43 
2014-06-07 02:00:00 86.000000 89.0  20 44 
2014-06-07 03:00:00 89.000000 89.0  22 49 
2014-06-07 04:00:00 86.000000 86.0  22 51 
2014-06-07 05:00:00 86.000000 89.0  21 53 

从上面我的结果样品看起来应该像下面这样:

date   KMRY KSNS PCEC1 KFAT 
2014-06-06  0  2  0  0  
2014-06-07  5  6  0  0 

你不胜感激任何帮助。

(D_RH>85).sum() 

上面的代码让我接近,但我需要一个日常分解也不只是列数。

回答

1

一种方法是使date一个DatetimeIndex然后GROUPBY的比较85.示例的结果:

>>> df["date"] = pd.to_datetime(df["date"]) # only if it isn't already 
>>> df = df.set_index("date") 
>>> (df > 85).groupby(df.index.date).sum() 
      KMRY KSNS PCEC1 KFAT 
2014-06-06  0  2  0  0 
2014-06-07  5  6  0  0 
+0

非常感谢您的帮助。我把日期设置为索引已经最后一部分是我需要的。 – CRogers 2015-04-02 02:18:59