为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

子衿沉夜 2023-04-25 17:44:12
作为示例,我使用以下 DF:Index                   Temperature2019-11-14 08:25:30.000 50.776897   2019-11-14 08:25:40.000 49.6719672019-11-14 08:25:50.000 48.7296102019-11-14 08:26:00.000 48.0222702019-11-14 08:26:10.000 47.5020032019-11-14 08:43:40.000 87.997314  <-- here i want to split the DF into two DF's2019-11-14 08:43:50.000 90.7915192019-11-14 08:44:00.000 93.6561282019-11-14 08:44:10.000 95.5252152019-11-14 08:44:20.000 95.694481所以我使用一个大的 DF,当时间戳索引发生跳跃时,我想将 DF 分成小的 DF。或者换句话说,每当下一个时间步长超过 10 秒后,我想拆分数据帧。
查看完整描述

1 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

我添加了一个组列以根据时间创建不同的组。所以当索引时间差>10s时,会创建一个新组。


然后我制作了一个 DF 列表,并根据组号使用循环遍历 DF 将其拆分。


df['groups'] = (df.index.to_series().diff().dt.seconds > 10).cumsum()


list_of_dfs = []

for ct, data in df.groupby('groups'):

    list_of_dfs.append(data)

结果:


Index                   Temperature  groups

2019-11-14 08:25:30.000 50.776897    0

2019-11-14 08:25:40.000 49.671967    0

2019-11-14 08:25:50.000 48.729610    0

2019-11-14 08:26:00.000 48.022270    0

2019-11-14 08:26:10.000 47.502003    0


2019-11-14 08:43:40.000 87.997314    1

2019-11-14 08:43:50.000 90.791519    1

2019-11-14 08:44:00.000 93.656128    1

2019-11-14 08:44:10.000 95.525215    1

2019-11-14 08:44:20.000 95.694481    1


查看完整回答
反对 回复 2023-04-25
  • 1 回答
  • 0 关注
  • 96 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信