时间跳跃时在时间戳索引上拆分 DF

作为示例,我使用以下 DF:


Index                   Temperature

2019-11-14 08:25:30.000 50.776897   

2019-11-14 08:25:40.000 49.671967

2019-11-14 08:25:50.000 48.729610

2019-11-14 08:26:00.000 48.022270

2019-11-14 08:26:10.000 47.502003

2019-11-14 08:43:40.000 87.997314  <-- here i want to split the DF into two DF's

2019-11-14 08:43:50.000 90.791519

2019-11-14 08:44:00.000 93.656128

2019-11-14 08:44:10.000 95.525215

2019-11-14 08:44:20.000 95.694481

所以我使用一个大的 DF,当时间戳索引发生跳跃时,我想将 DF 分成小的 DF。或者换句话说,每当下一个时间步长超过 10 秒后,我想拆分数据帧。


子衿沉夜
浏览 100回答 1
1回答

慕容森

我添加了一个组列以根据时间创建不同的组。所以当索引时间差>10s时,会创建一个新组。然后我制作了一个 DF 列表,并根据组号使用循环遍历 DF 将其拆分。df['groups'] = (df.index.to_series().diff().dt.seconds > 10).cumsum()list_of_dfs = []for ct, data in df.groupby('groups'):&nbsp; &nbsp; list_of_dfs.append(data)结果:Index&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Temperature&nbsp; groups2019-11-14 08:25:30.000 50.776897&nbsp; &nbsp; 02019-11-14 08:25:40.000 49.671967&nbsp; &nbsp; 02019-11-14 08:25:50.000 48.729610&nbsp; &nbsp; 02019-11-14 08:26:00.000 48.022270&nbsp; &nbsp; 02019-11-14 08:26:10.000 47.502003&nbsp; &nbsp; 02019-11-14 08:43:40.000 87.997314&nbsp; &nbsp; 12019-11-14 08:43:50.000 90.791519&nbsp; &nbsp; 12019-11-14 08:44:00.000 93.656128&nbsp; &nbsp; 12019-11-14 08:44:10.000 95.525215&nbsp; &nbsp; 12019-11-14 08:44:20.000 95.694481&nbsp; &nbsp; 1
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python