我有一个看起来像这样的数据框(每一个都date row
描述了每个事件发生的时刻):
date
93286 2017-11-24 20:44:51.571
93287 2017-11-24 20:45:01.571
93288 2017-11-24 20:45:11.664
93289 2017-11-24 20:45:21.664
93290 2017-11-24 20:45:23.758
93291 2017-11-24 20:45:34.071
93292 2017-11-24 20:45:39.164
93293 2017-11-24 20:45:44.664
93294 2017-11-24 20:45:58.664
93295 2017-11-24 20:46:54.774
93296 2017-11-24 20:46:55.571
我的目标是计算每分钟的平均时间。所以我想我首先需要从当前日期减去先前的日期df['diff'] = df['date'] - df['date'].shift(1)
date diff
93286 2017-11-24 20:44:51.571 NaT
93287 2017-11-24 20:45:01.571 00:00:10
93288 2017-11-24 20:45:11.664 00:00:10.093
93289 2017-11-24 20:45:21.664 00:00:10
93290 2017-11-24 20:45:23.758 00:00:02.094
93291 2017-11-24 20:45:34.071 00:00:10.313
93292 2017-11-24 20:45:39.164 00:00:05.093
93293 2017-11-24 20:45:44.664 00:00:05.5
93294 2017-11-24 20:45:58.664 00:00:14
93295 2017-11-24 20:46:58.774 00:00:00.11
93296 2017-11-24 20:46:59.571 00:00:00.797
但是现在我不知道如何获得显示每分钟平均时间的结果,例如:
date mean
2017-11-24 20:45:00 8.386625
我尝试使用pivot_table
,但这种方式不起作用。
>>> df.pivot_table(index=[pd.Grouper(key='date', freq='1min')],aggfunc='mean')
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "d:\python36-32\lib\site-packages\pandas\core\generic.py", line 3081, in __getattr__
return object.__getattribute__(self, name)
AttributeError: 'Series' object has no attribute 'pivot_table'
如何使用此数据框计算平均时间?
尝试aggfunc=pd.Series.mean
,'mean'
可能仅适用于数字数据类型:
df.pivot_table(index=pd.Grouper(key='date', freq='1min'),aggfunc=pd.Series.mean)
diff
date
2017-11-24 20:44:00 NaT
2017-11-24 20:45:00 00:00:08.386625
2017-11-24 20:46:00 00:00:28.453500
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句