我得到了一个pandas数据框架,其中包含了描述车辆速度的时间序列数据。我想求车辆速度为零时的增量时间的和。但我无法计算这些值的总和。
这是dataframe的结构:
time value id delta
211 2022-11-18 04:09:30+01:00 0.000000 215071 NaN
212 2022-11-18 04:09:35+01:00 0.000000 215071 5.0
213 2022-11-18 04:09:40+01:00 0.000000 215071 5.0
214 2022-11-18 04:09:45+01:00 0.000000 215071 5.0
215 2022-11-18 04:09:50+01:00 0.000000 215071 5.0
216 2022-11-18 04:09:55+01:00 0.000000 215071 5.0
217 2022-11-18 04:10:00+01:00 0.000000 215071 5.0
218 2022-11-18 04:10:05+01:00 0.000000 215071 5.0
219 2022-11-18 04:10:10+01:00 0.000000 215071 5.0
220 2022-11-18 04:10:15+01:00 0.000000 215071 5.0
221 2022-11-18 04:10:20+01:00 0.000000 215071 5.0
222 2022-11-18 04:10:25+01:00 0.000000 215071 5.0
223 2022-11-18 04:10:30+01:00 0.000000 215071 5.0
224 2022-11-18 04:10:35+01:00 0.000000 215071 5.0
225 2022-11-18 04:10:40+01:00 6.652344 215071 5.0
226 2022-11-18 04:10:45+01:00 10.347656 215071 5.0
227 2022-11-18 04:10:50+01:00 19.585938 215071 5.0
228 2022-11-18 04:10:55+01:00 26.968750 215071 5.0
229 2022-11-18 04:11:00+01:00 44.253906 215071 5.0
230 2022-11-18 04:11:05+01:00 55.722656 215071 5.0
231 2022-11-18 04:11:10+01:00 50.984375 215071 5.0
232 2022-11-18 04:11:15+01:00 50.121094 215071 5.0
233 2022-11-18 04:11:20+01:00 61.324219 215071 5.0
234 2022-11-18 04:11:25+01:00 65.597656 215071 5.0
235 2022-11-18 04:11:30+01:00 66.691406 215071 5.0
236 2022-11-18 04:11:35+01:00 53.773438 215071 5.0
237 2022-11-18 04:11:40+01:00 55.796875 215071 5.0
238 2022-11-18 04:11:45+01:00 63.898438 215071 5.0
239 2022-11-18 04:11:50+01:00 64.484375 215071 5.0
240 2022-11-18 04:11:55+01:00 55.804688 215071 5.0
241 2022-11-18 04:12:00+01:00 37.117188 215071 5.0
242 2022-11-18 04:12:05+01:00 37.210938 215071 5.0
243 2022-11-18 04:12:10+01:00 25.179688 215071 5.0
244 2022-11-18 04:12:15+01:00 37.738281 215071 5.0
245 2022-11-18 04:12:20+01:00 54.781250 215071 5.0
246 2022-11-18 04:12:25+01:00 58.066406 215071 5.0
247 2022-11-18 04:12:30+01:00 59.097656 215071 5.0
248 2022-11-18 04:12:35+01:00 59.839844 215071 5.0
249 2022-11-18 04:12:41+01:00 52.769531 215071 6.0
250 2022-11-18 04:12:46+01:00 42.121094 215071 5.0
251 2022-11-18 04:12:51+01:00 48.792969 215071 5.0
252 2022-11-18 04:12:56+01:00 28.902344 215071 5.0
253 2022-11-18 04:13:01+01:00 38.085938 215071 5.0
254 2022-11-18 04:13:06+01:00 48.625000 215071 5.0
255 2022-11-18 04:13:11+01:00 33.242188 215071 5.0
256 2022-11-18 04:13:16+01:00 38.894531 215071 5.0
257 2022-11-18 04:13:21+01:00 41.777344 215071 5.0
258 2022-11-18 04:13:26+01:00 30.464844 215071 5.0
259 2022-11-18 04:13:31+01:00 10.472656 215071 5.0
260 2022-11-18 04:13:36+01:00 7.535156 215071 5.0
261 2022-11-18 04:13:41+01:00 0.000000 215071 5.0
262 2022-11-18 04:13:46+01:00 0.000000 215071 5.0
263 2022-11-18 04:13:51+01:00 0.000000 215071 5.0
264 2022-11-18 04:13:56+01:00 0.000000 215071 5.0
265 2022-11-18 04:14:01+01:00 0.000000 215071 5.0
266 2022-11-18 04:14:06+01:00 0.000000 215071 5.0
267 2022-11-18 04:14:11+01:00 0.000000 215071 5.0
268 2022-11-18 04:14:16+01:00 0.000000 215071 5.0
269 2022-11-18 04:14:21+01:00 0.000000 215071 5.0
270 2022-11-18 04:14:26+01:00 0.000000 215071 5.0
271 2022-11-18 04:14:31+01:00 1.812500 215071 5.0
272 2022-11-18 04:14:36+01:00 1.636719 215071 5.0
273 2022-11-18 04:14:41+01:00 0.000000 215071 5.0
274 2022-11-18 04:14:46+01:00 0.000000 215071 5.0
275 2022-11-18 04:14:51+01:00 0.000000 215071 5.0
276 2022-11-18 04:14:56+01:00 0.000000 215071 5.0
277 2022-11-18 04:15:01+01:00 0.000000 215071 5.0
278 2022-11-18 04:15:06+01:00 0.000000 215071 5.0
279 2022-11-18 04:15:11+01:00 3.125000 215071 5.0
280 2022-11-18 04:15:16+01:00 2.554688 215071 5.0
281 2022-11-18 04:15:21+01:00 3.750000 215071 5.0
282 2022-11-18 04:15:26+01:00 1.613281 215071 5.0
283 2022-11-18 04:15:31+01:00 2.699219 215071 5.0
284 2022-11-18 04:15:36+01:00 1.222656 215071 5.0
285 2022-11-18 04:15:41+01:00 1.312500 215071 5.0
286 2022-11-18 04:15:46+01:00 2.039062 215071 5.0
287 2022-11-18 04:15:51+01:00 0.000000 215071 5.0
288 2022-11-18 04:15:56+01:00 2.183594 215071 5.0
289 2022-11-18 04:16:01+01:00 4.058594 215071 5.0
290 2022-11-18 04:16:06+01:00 2.753906 215071 5.0
291 2022-11-18 04:16:11+01:00 3.820312 215071 5.0
292 2022-11-18 04:16:16+01:00 1.792969 215071 5.0
293 2022-11-18 04:16:21+01:00 1.218750 215071 5.0
294 2022-11-18 04:16:26+01:00 0.000000 215071 5.0
295 2022-11-18 04:16:31+01:00 0.000000 215071 5.0
296 2022-11-18 04:16:36+01:00 0.000000 215071 5.0
297 2022-11-18 04:16:41+01:00 0.000000 215071 5.0
298 2022-11-18 04:16:46+01:00 0.000000 215071 5.0
299 2022-11-18 04:16:51+01:00 0.000000 215071 5.0
300 2022-11-18 04:16:56+01:00 0.000000 215071 5.0
301 2022-11-18 04:17:01+01:00 0.000000 215071 5.0
302 2022-11-18 04:17:06+01:00 0.000000 215071 5.0
303 2022-11-18 04:17:11+01:00 0.000000 215071 5.0
304 2022-11-18 04:17:16+01:00 0.000000 215071 5.0
305 2022-11-18 04:17:21+01:00 0.000000 215071 5.0
306 2022-11-18 04:17:26+01:00 0.000000 215071 5.0
307 2022-11-18 04:17:31+01:00 0.000000 215071 5.0
308 2022-11-18 04:17:36+01:00 0.000000 215071 5.0
309 2022-11-18 04:17:41+01:00 0.000000 215071 5.0
310 2022-11-18 04:17:46+01:00 0.000000 215071 5.0
字符串
我会期待这样的东西:
time value id delta sum
211 2022-11-18 04:09:30+01:00 0.000000 215071 NaN 0
212 2022-11-18 04:09:35+01:00 0.000000 215071 5.0 5
213 2022-11-18 04:09:40+01:00 0.000000 215071 5.0 10
214 2022-11-18 04:09:45+01:00 0.000000 215071 5.0 15
215 2022-11-18 04:09:50+01:00 0.000000 215071 5.0 20
216 2022-11-18 04:09:55+01:00 0.000000 215071 5.0 25
217 2022-11-18 04:10:00+01:00 0.000000 215071 5.0 30
218 2022-11-18 04:10:05+01:00 0.000000 215071 5.0 35
219 2022-11-18 04:10:10+01:00 0.000000 215071 5.0 40
220 2022-11-18 04:10:15+01:00 0.000000 215071 5.0 45
221 2022-11-18 04:10:20+01:00 0.000000 215071 5.0 50
222 2022-11-18 04:10:25+01:00 0.000000 215071 5.0 55
223 2022-11-18 04:10:30+01:00 0.000000 215071 5.0 60
224 2022-11-18 04:10:35+01:00 0.000000 215071 5.0 65
225 2022-11-18 04:10:40+01:00 6.652344 215071 5.0 70
226 2022-11-18 04:10:45+01:00 10.347656 215071 5.0 -1
227 2022-11-18 04:10:50+01:00 19.585938 215071 5.0 -1
228 2022-11-18 04:10:55+01:00 26.968750 215071 5.0 -1
229 2022-11-18 04:11:00+01:00 44.253906 215071 5.0 -1
230 2022-11-18 04:11:05+01:00 55.722656 215071 5.0 -1
231 2022-11-18 04:11:10+01:00 50.984375 215071 5.0 -1
232 2022-11-18 04:11:15+01:00 50.121094 215071 5.0 -1
型
当车辆有一定的速度时,我对任何delta都不感兴趣,所以理想情况下它应该是-1或NaN。有没有人建议如何实现这个结果?
2条答案
按热度按时间w6mmgewl1#
逻辑并不完全清楚,特别是因为您没有提供完整的输出。
如果我猜得没错的话,你需要一个
cumsum
,每次移动后都会重新启动。我提供了两种方法:字符串
输出量:
型
wtlkbnrh2#
如果希望一行显示0个值的累计和,则可以先按值排序。
字符串
旧答案:你可以只查询数据框中值== 0的行,然后求和。
型