我如何按天对每小时的数据进行分组,并且只计算大Pandas中大于设定值的值?

2024-05-14 13:50:58 发布

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

我对熊猫还不熟悉,但已经和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

从上面的示例来看,我的结果应该如下所示:

^{pr2}$

对你的任何帮助都将不胜感激。在

(D_RH>85).sum()

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


Tags: 数据代码示例date次数计数rhsum
1条回答
网友
1楼 · 发布于 2024-05-14 13:50:58

一种方法是使date成为一个DatetimeIndex,然后根据与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

相关问题 更多 >

    热门问题