猿问

在 pandas 中分离时间序列并为每个时间序列提供 ID

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

datetime   sensor1_value  sensor2_value

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

我想给每个时间序列(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。


交互式爱情
浏览 145回答 1
1回答

慕田峪7331174

我想这就是你想要的。我已经重建了数据框,因为没有提供。import pandas as pdimport numpy as nptimes = 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.datedf['ID'] = df.groupby(['date_only']).ngroup() + 1
随时随地看视频慕课网APP

相关分类

Python
我要回答