熊猫分组和聚集的不同因素

时间:2019-06-17 04:38:56

标签: python python-3.x pandas pandas-groupby

我正在使用python 3和pandas。

我有一个数据框;

tpfs.info()

     <class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 2121 entries, 2019-05-15 00:10:00 to 2019-05-31 23:52:00
Data columns (total 4 columns):
bg         2121 non-null int64
carbs      2121 non-null float64
humalog    2121 non-null float64
lantus     2121 non-null float64
dtypes: float64(3), int64(1)
memory usage: 162.9 KB

数据如下:

                        bg  carbs   humalog lantus
time                
2019-05-30 08:36:00 150     0.0     0.0     0.0
2019-05-30 08:52:00 154     0.0     0.0     0.0
2019-05-30 09:00:00 158     0.0     0.0     0.0
2019-05-30 09:00:00 0       39.0    0.0     0.0
2019-05-30 09:00:00 0       0.0     2.5     0.0
2019-05-30 09:00:00 0       0.0     0.0     13.0
2019-05-30 09:07:00 161     0.0     0.0     0.0
2019-05-30 09:23:00 163     0.0     0.0     0.0
2019-05-30 09:36:00 160     0.0     0.0     0.0
2019-05-30 09:38:00 156     0.0     0.0     0.0

我想汇总数据,这样我每24小时都有行,这些行显示bg的平均值以及carb,humalog和lantus的总和。

我尝试了groupby和agg的各种组合,并获得了各种错误消息。最重要的是,我只是从各种来源剪切粘贴代码,并试图在不完全了解它们如何工作的情况下,对其进行调整以适合我的用例。

尽管有很多常见问题解答示例,文档和“如何做”,但似乎找不到一个与我要尝试应用的示例足够接近的示例。也许提取两个新的数据帧(一个用于bg平均值,一个用于求和,然后将它们组合。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您希望将.resample().agg()结合使用:

tpfs.resample('24h').agg({
    'bg':'mean',
    'carbs':'sum',
    'humalog':'sum',
    'lantus':'sum'
})