【问题标题】:pandas time range per day熊猫每天的时间范围
【发布时间】:2015-08-25 19:56:00
【问题描述】:
我有一个包含在 pandas 数据框中的 gps 数据日志。我需要计算每天的“正常运行时间”,即最后记录点减去第一个记录点。这里最好的方法是什么?
datetime latitude longitude weekday
1 2015-08-25 17:10:53.920 52.232342 0.134956 1
【问题讨论】:
标签:
python
pandas
time-series
【解决方案1】:
如果DataFrame 被命名为df,您可以这样做:
def uptime(series):
return (series.max() - series.min()).total_seconds()
uptime_each_day = df.groupby(
df.datetime.apply(lambda x: x.date())
).apply(lambda grp: uptime(grp.datetime))
【解决方案2】:
你可以的
day_groups = df.groupby(pd.Grouper(key='datetime', freq='1D'))
day_groups.datetime.max() - day_groups.datetime.min()