【发布时间】:2020-11-21 04:23:58
【问题描述】:
假设我有一个数据框,其中索引是时间戳。但是,时间戳的间隔不均匀,所以我想让它均匀。例如,我想让我的时间间隔为 1 分钟。我想对从 t0 到 t1 的所有值求和,并将其求和为 t1 处的值。
我一直这样做的方式是通过循环。首先,我创建一个包含开始时间和结束时间的时间戳列表。然后我将我的数据框分成一个小数据框,然后对那个小数据框进行计算(在本例中为总和)。然后我将我的值保存到一个列表中。然后重复。
不幸的是,这需要很长时间。
有没有更快的方法来做到这一点?我正在处理非常小的时间范围内的数据,所以我认为用 0 数据创建额外的行并使用内置的滚动求和函数是没有意义的......
数据示例如下:
2020-04-01 00:03:48.197028 1
2020-04-01 00:24:07.186631 11
2020-04-01 00:24:07.200361 5
2020-04-01 00:24:07.204382 1
2020-04-01 00:24:07.208525 13
我想把它转换成类似的东西:
2020-04-01 00:24:00.000000 sum(23:59 to 24:00)
2020-04-01 00:24:01.000000 sum(24:00 to 24:01)
2020-04-01 00:24:02.000000 sum(24:01 to 24:02)
2020-04-01 00:24:03.000000 sum(24:02 to 24:03)
2020-04-01 00:24:04.000000 sum(24:03 to 24:04)
【问题讨论】:
-
发布您的数据框以及您尝试了什么
-
你想要的输出是什么
-
我刚刚更新了它。现在我只是使用开始和结束时间对我的数据框进行子集化,进行计算,然后将其存储到列表中。我正在寻找一种更有效的做事方式——如果有的话。
标签: python python-3.x pandas loops for-loop