我有一个如下所示的数据框
数据帧
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)
它为我提供了所有列的统计信息。但我只需要为cpu
和drops
获取统计信息。
我尝试过这样的事情,但不起作用
hourly_stats = df.groupby(['cpu', 'drops']).resample('H').agg(['mean', 'min', 'max', 'std']).fillna(0)
如何仅按小时为指定列获取统计信息?
答案 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)