2017-10-31 11:08:55 SM4 Movement
2017-10-31 11:09:11 SM4 No movement
2017-10-31 11:09:31 C14 Pressure
2017-10-31 11:09:31 SM4 Movement
2017-10-31 11:09:32 C14 No Pressure
2017-10-31 11:09:41 C14 Pressure
2017-10-31 11:09:43 SM3 Movement
2017-10-31 11:09:53 SM3 No movement
2017-10-31 11:09:56 M01 Open
2017-10-31 11:10:06 SM4 No movement
2017-10-31 11:11:21 SM4 Movement
2017-10-31 11:11:21 M01 Close我想将第一列从11 :08: 55 .11:08:56.11:08:57.11:08:58分成几秒钟,另外两列值也应该重复,例如,从第55列到第11列,SM4应该和它的值运动一起重复。在11:09:11 : 11:09:31之后,SM4和“禁止移动”类似于其他传感器。
发布于 2019-07-21 15:55:27
您想要的是将数据间隔为秒,并使用resample fillna和ffill。
df = df.resample('s').first().ffill()输出
col1 col2
2017-10-31 11:08:55 SM4 Movement
2017-10-31 11:08:56 SM4 Movement
2017-10-31 11:08:57 SM4 Movement
2017-10-31 11:08:58 SM4 Movement
2017-10-31 11:08:59 SM4 Movement
... ... ...
2017-10-31 11:11:17 SM4 No movement
2017-10-31 11:11:18 SM4 No movement
2017-10-31 11:11:19 SM4 No movement
2017-10-31 11:11:20 SM4 No movement
2017-10-31 11:11:21 SM4 Movement
[147 rows x 2 columns]Note I假设您的索引是datetime格式,否则在运行代码之前使用它:
df.index = pd.to_datetime(df.index)Note2:由于您没有提供列名,所以我称它们为col1 & col2
https://stackoverflow.com/questions/57134645
复制相似问题