pandas 每天的时间范围
pandas time range per day
我在 pandas 数据框中包含一个 gps 数据日志。我需要计算每天的 'up time',即最后记录点减去第一个记录点。这里最好的方法是什么?
datetime latitude longitude weekday
1 2015-08-25 17:10:53.920 52.232342 0.134956 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))
你可以做到
day_groups = df.groupby(pd.Grouper(key='datetime', freq='1D'))
day_groups.datetime.max() - day_groups.datetime.min()
我在 pandas 数据框中包含一个 gps 数据日志。我需要计算每天的 'up time',即最后记录点减去第一个记录点。这里最好的方法是什么?
datetime latitude longitude weekday
1 2015-08-25 17:10:53.920 52.232342 0.134956 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))
你可以做到
day_groups = df.groupby(pd.Grouper(key='datetime', freq='1D'))
day_groups.datetime.max() - day_groups.datetime.min()