大Pandas重采样

2024-05-29 02:15:46 发布

您现在位置:Python中文网/ 问答频道 /正文

{我问了一个问题。但我得到了一个不完整的答案。没有人愿意回答。这就是为什么我要提出另一个修改过的问题。让我简单地解释一下这个问题,我想重新抽样以下数据:

**`
Timestamp  L_x   L_y    L_a     R_x     R_y     R_a
2403950   621.3 461.3   313     623.3   461.8   260
2403954   622.5 461.3   312     623.3   462.6   260
2403958   623.1 461.5   311     623.4   464     261
2403962   623.6 461.7   310     623.7   465.4   261
2403966   623.8 461.5   309     623.9   466.1   261   
2403970   620.9 461.4   309     623.8   465.9   259
2403974   621.7 461.1   308     623     464.8   258
2403978   622.1 461.1   308     621.9   463.9   256
2403982   622.5 461.5   308     621     463.4   255
2403986   622.4 462.1   307     620.7   463.3   254
`**

桌子就这样没完没了。所有的时间戳都以毫秒为单位。我想重新取样到100升的垃圾桶里。在

^{pr2}$

结果表为: Timestamp L_x L_y L_a R_x R_y R_a 2403900 621.3 461.3 313 623.3 461.8 260 2404000 622.5 461.3 312 623.3 462.6 260 2404100 623.1 461.5 311 623.4 464 261 2404200 623.6 461.7 310 623.7 465.4 261 2404300 623.8 461.5 309 623.9 466.1 261

但这不是我想要的结果。因为原始表中的第一个时间戳索引是2403950。所以第一个箱子的时间应该是2403950到2404050,但是它应该是2403900-2404000。如下所示: Timestamp L_x L_y L_a R_x R_y R_a 2403950 ... ... ... ... ... ... 2404050 ... ... ... ... ... ... 2404150 ... ... ... ... ... ... 2404250 ... ... ... ... ... ... 2404350 ... ... ... ... ... ... 列的其余部分是原始表值的平均值。 所以有人建议我必须计算偏移量。对我来说是50毫秒。并执行以下操作:

df.resample('100L', loffset='50L')

偏移量只将标签向前移动50毫秒,但不会改变平均值。例如,它仍在计算从2403900到2404000的值的平均值,而不是2403950到2404050。在

谢谢你的帮助


Tags: 数据答案df时间单位建议timestamp偏移量
1条回答
网友
1楼 · 发布于 2024-05-29 02:15:46

你在找夸格基地。在

base : int, default 0
For frequencies that evenly subdivide 1 day, the “origin” of the aggregated intervals. For example, for ‘5min’ frequency, base could range from 0 through 4. Defaults to 0


在你的情况下,看起来你想要:

df.resample('100L', base=50)

注意:不使用DatetimeIndex/PeriodIndex/TimedeltaIndex重新采样会在最近的pandas中引发错误,因此您应该在执行此操作之前转换为DatetimeIndex。在

相关问题 更多 >

    热门问题