我正在使用智能手机每隔30秒录制的GSM数据(mcc,mnc,cid,lac)。但是会有一些数据存在差距。现在我必须每五分钟获取一次数据并计算一些特征,如独特的细胞ID。我可以从第一行开始,然后再添加五分钟。然后找到小于或等于新时间的下一行。我也可以创建一个时间增量列。但这也不是很有效率。 在pandas中是否有任何有效的方法可以根据日期时间索引划分数据。
Dataframe看起来像这样:
mcc mnc cid lac signalis
networktime
2015-10-12 22:04:06.362 405 5 10473 5071 15
2015-10-12 22:04:35.751 405 5 10473 5071 15
2015-10-12 22:05:07.358 405 5 10473 5071 15
2015-10-12 22:05:16.858 405 5 10473 5071 15
2015-10-12 22:06:07.854 405 5 10473 5071 15
2015-10-12 22:06:27.731 405 5 10473 5071 15
2015-10-12 22:07:08.261 405 5 10473 5071 15
2015-10-12 22:07:26.334 405 5 10473 5071 15
2015-10-12 22:08:08.180 405 5 10473 5071 15
2015-10-12 22:08:19.750 405 5 10473 5071 15
2015-10-12 22:08:48.098 405 5 10473 5071 15
2015-10-12 22:09:23.835 405 5 2896027 5822 8
2015-10-12 22:09:53.092 405 5 10473 5071 18
2015-10-12 22:10:19.423 405 5 10473 5071 16
2015-10-12 22:11:08.363 405 5 10473 5071 21
2015-10-12 22:11:19.475 405 5 10473 5071 21
2015-10-12 22:11:48.253 405 5 10473 5071 21
2015-10-12 22:12:19.110 405 5 10473 5071 17
2015-10-12 22:12:48.538 405 5 10473 5071 14
2015-10-12 22:13:22.486 405 5 10473 5071 15
2015-10-12 22:13:48.280 405 5 10473 5071 18
2015-10-12 22:14:48.355 405 5 10473 5071 18
2015-10-12 22:15:21.784 405 5 10473 5071 18
2015-10-12 22:15:54.823 405 5 10473 5071 17
2015-10-12 22:16:22.445 405 5 2894627 5822 11
2015-10-12 22:17:02.702 405 5 2894627 5822 11
2015-10-12 22:17:27.461 405 5 2894627 5822 11
2015-10-12 22:18:08.394 405 5 2894627 5822 11
2015-10-12 22:18:36.883 405 5 2894627 5822 11
2015-10-12 22:18:56.815 405 5 2894627 5822 11
... ... ... ... ... ...
2015-10-15 16:35:22.367 405 800 28492 473 16
2015-10-15 16:35:47.007 405 800 28492 473 16
2015-10-15 16:36:25.389 405 800 28492 473 16
2015-10-15 16:37:09.750 405 800 28492 473 16
2015-10-15 16:37:20.512 405 800 28492 473 16
2015-10-15 16:53:07.070 405 800 51551 445 12
2015-10-15 16:53:36.551 405 800 51551 445 12
2015-10-15 16:53:54.766 405 800 51551 445 12
2015-10-15 16:54:30.815 405 800 51551 445 12
2015-10-15 17:10:17.531 405 800 51551 445 12
2015-10-15 17:11:05.349 405 800 51551 445 12
2015-10-15 17:11:23.439 405 800 51551 445 12
2015-10-15 17:11:47.869 405 800 51551 445 12
2015-10-15 17:12:18.418 405 800 51551 445 12
2015-10-15 17:27:54.367 405 5 51551 445 12
2015-10-15 17:28:32.354 405 5 51551 445 12
2015-10-15 17:28:49.613 405 5 51551 445 12
2015-10-15 17:29:19.621 405 5 51551 445 12
2015-10-15 17:30:02.116 405 5 51551 445 12
2015-10-15 17:30:20.235 405 5 51551 445 12
2015-10-15 17:31:02.206 405 5 51551 445 12
2015-10-15 17:31:34.817 405 5 51551 445 12
2015-10-15 17:32:08.350 405 5 51551 445 12
2015-10-15 17:32:33.349 405 5 51551 445 12
2015-10-15 17:33:19.490 405 5 51551 445 12
2015-10-15 17:34:01.384 405 5 51551 445 12
2015-10-15 17:34:35.664 405 5 51551 445 12
2015-10-15 17:34:49.618 405 5 51551 445 12
2015-10-15 17:35:24.392 405 5 51551 445 12
2015-10-15 17:35:49.674 405 5 51551 445 12
任何帮助表示赞赏!!
答案 0 :(得分:1)
这取决于您的数据,但最简单的方法是首先解决数据的差距问题。例如,您可以使用interpolation从时间序列中获取等间距的数据点。在此之后,应该很容易使用.split()方法在5分钟的块中划分数据。