按日期划分的平均 pandas 数据框 [英] Average Pandas Dataframe by Date

查看:38
本文介绍了按日期划分的平均 pandas 数据框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在下面的数据框中有一个日期列表

I have the following dataframe a list of dates

                       debt 
date                               
2017-11-17 16:00:00    77     
2017-11-17 17:00:00    73     
2017-11-17 18:00:00    74     
2017-11-17 19:00:00    73     
2017-11-17 20:00:00    74     
2017-11-17 21:00:00    71     

我正在尝试按日期分组,以找到没有时间的日期的平均值

I am trying to group by the dates to find the average by dates without time

2017-11-17 74

我试图做到这一点df = df.groupby(df ['date'].map(lambda x:x.day))KeyError:日期"

I tried to do this df = df.groupby(df['date'].map(lambda x: x.day)) KeyError: 'date'

请问还有其他方法吗?

推荐答案

如果需要 index 中的 date ,请使用

If need dates in index use DatetimeIndex.date:

df = df.groupby(df.index.date).mean()
print (df)
                 debt
2017-11-17  73.666667

print (df.index)
Index([2017-11-17], dtype='object')

但更好的是,对于 DatetimeIndex ,请使用

But better is for DatetimeIndex use DatetimeIndex.floor:

df = df.groupby(df.index.floor('d')).mean()
print (df)
                 debt
date                 
2017-11-17  73.666667

print (df.index)
DatetimeIndex(['2017-11-17'], dtype='datetime64[ns]', name='date', freq=None)

这篇关于按日期划分的平均 pandas 数据框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆