仅获取pandas中给定数据的某些列的统计信息

时间:2018-04-16 08:53:27

标签: python-3.x pandas

我有一个如下所示的数据框

数据帧

date                               location      cpu    mem                 drops   upload   download
2018-02-11 04:05:33.438948+05:30    DEL           44    23                      5   14.5        44.51       
2018-02-11 04:05:37.905242+05:30    MUM            0    23                   6.08   5.1         0       
2018-02-11 17:09:47.211344+05:30    DEL           24    34                   4.19   19.4        37.53   
2018-02-11 17:10:13.553385+05:30    KOL           23    35                   4.47   11.5        46.34

我需要按小时显示指定日期的所有小时数据,但仅限于某些列。

我做的是

hourly_stats = df.resample('H').agg(['mean', 'min', 'max', 'std']).fillna(0)

它为我提供了所有列的统计信息。但我只需要为cpudrops获取统计信息。

我尝试过这样的事情,但不起作用

hourly_stats = df.groupby(['cpu', 'drops']).resample('H').agg(['mean', 'min', 'max', 'std']).fillna(0)

如何仅按小时为指定列获取统计信息?

1 个答案:

答案 0 :(得分:1)

resample之后或之前按子集过滤列

hourly_stats = df.resample('H')['cpu', 'drops'].agg(['mean', 'min', 'max', 'std']).fillna(0)

或者:

hourly_stats = df[['cpu', 'drops']].resample('H').agg(['mean', 'min', 'max', 'std']).fillna(0)