【问题标题】:Seperate timeseries in pandas and give ID to each timeseries在 pandas 中分离时间序列并为每个时间序列提供 ID
【发布时间】:2020-05-08 23:06:53
【问题描述】:

我有一个具有以下形式的 pandas 数据框:

datetime   sensor1_value  sensor2_value

其中datetime 是在某一天开始和结束的索引(按时间顺序)。 这给了我许多测量次数不等的时间序列。

我想给每个时间序列(24 小时 = 一个序列)一个特定的 ID,所以我的最终 df 应该是这样的

datetime   ID   sensor1_value  sensor2_value

ID = 1 的所有内容都属于时间序列 1(第 1 天)

ID = 2 的所有内容都属于时间序列 2(第 2 天)

等等。

到目前为止,我已经尝试将 df 与

dflist = []

for group in df.groupby(df.index.date):
    dflist.append(group[1])

这给了我所有数据帧的列表,但不是所有数据的一个 df。我无法弄清楚如何将所有内容放在一起并添加 ID。

【问题讨论】:

  • 能否请您提供一些示例数据以供其他人轻松检查?

标签: python pandas time-series


【解决方案1】:

我想这就是你想要的。我已经重建了数据框,因为没有提供。

import pandas as pd
import numpy as np
times = pd.date_range(start ='1/1/2020',end='1/20/2020',periods = 100)
df = pd.DataFrame(list(zip(times, np.random.uniform(size = 100), np.random.uniform(size = 100))), 
                  columns = ['datetime', 'sensor_1_value', 'sensor_2_value'])
df['date_only'] = df.datetime.dt.date
df['ID'] = df.groupby(['date_only']).ngroup() + 1

【讨论】:

    猜你喜欢
    • 2019-10-23
    • 2018-09-03
    • 2019-03-12
    • 2021-05-02
    • 1970-01-01
    • 2021-06-08
    • 2014-07-10
    • 1970-01-01
    • 2018-06-23
    相关资源
    最近更新 更多