我有以下数据框日期列表
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
我正在尝试按日期分组以查找没有时间的日期的平均值
2017-11-17 74
我试图这样做
df = df.groupby(df['date'].map(lambda x: x.day))
关键错误:'日期'
请问还有其他办法吗?
最佳答案
如果需要 date
s 在 index
使用 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
使用 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 - 按日期平均 Pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47475929/