按日期平均 Pandas 数据框

J N*_* Ng 4 dataframe pandas

我有以下数据框日期列表

                       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     
Run Code Online (Sandbox Code Playgroud)

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

2017-11-17 74
Run Code Online (Sandbox Code Playgroud)

我试图这样做 df​​ = df.groupby(df['date'].map(lambda x: x.day)) KeyError: 'date'

请问还有其他办法吗?

jez*_*ael 5

如果需要dateS INindex使用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')
Run Code Online (Sandbox Code Playgroud)

但更好的是DatetimeIndex使用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)
Run Code Online (Sandbox Code Playgroud)