我有以下数据框日期列表
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'
请问还有其他办法吗?
如果需要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)