【问题标题】:Reshaping a time-series into multiple features, each corresponding to the course of a day将时间序列重塑为多个特征,每个特征对应于一天的过程
【发布时间】:2020-07-03 04:39:46
【问题描述】:

我有一个由 Pandas 正确解释的时间序列,它对应于许多天每分钟一次的心率测量值。

我需要知道将其转换为具有多个时间序列的集合(DataFrame 等)的惯用方式(如果有的话)是什么,每个时间序列的范围从 00:00 到 23:59。


显然,通过采用 24*60 行的切片来执行此操作是一种蛮力的方式。但在一般情况下,可能会出现各种故障,例如不规则样本(在 1 分钟的等待窗口内采集,因为腕带监视器中的软件如何尝试检测运动、睡眠等)。

【问题讨论】:

    标签: pandas time-series


    【解决方案1】:

    这是一个可行的 hacky 解决方案

    dg = df[['start_time', 'heart_rate']].set_index('start_time').groupby(pd.Grouper(freq='D'))
    
    dh = pd.DataFrame()
    
    for name, group in dg:
        timestamps = pd.Series([val.time() for val in group.index])
        group = group.rename(columns={"heart_rate": str(name.date())})
        group.index = timestamps
        dh = pd.concat([dh,group],axis=1)
    

    但我确信 Pandas 中还有一些更惯用的东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-04-26
      • 2021-07-18
      • 2018-10-20
      • 2019-06-13
      • 1970-01-01
      • 1970-01-01
      • 2022-08-04
      • 2017-09-12
      相关资源
      最近更新 更多