我有 20 分钟的观察数据,按 5 分钟分箱排列,如下所示:
bin var1 var2 var3 var4
5 -76.30 71.96 557.79 0.06
10 -61.23 78.14 600.69 0.09
15 -54.36 73.63 630.71 0.03
20 -12.41 71.46 661.19 0.08
Run Code Online (Sandbox Code Playgroud)
我需要通过向前移动最后一个观察值来对一小时的数据进行建模,并获得以下输出:
bin var1 var2 var3 var4
5 -76.30 71.96 557.79 0.06
10 -61.23 78.14 600.69 0.03
15 -54.36 73.63 630.71 0.09
20 -12.41 71.46 661.19 0.08
25 -12.41 71.46 661.19 0.08
30 -12.41 71.46 661.19 0.08
35 -12.41 71.46 661.19 0.08
40 -12.41 71.46 661.19 0.08
45 -12.41 71.46 661.19 0.08
50 -12.41 71.46 661.19 0.08
55 -12.41 71.46 661.19 0.08
60 -12.41 71.46 661.19 0.08
Run Code Online (Sandbox Code Playgroud)
在 pandas 数据框中对此进行编码的最佳方法是什么?请&谢谢。
虽然您可以附加到 DataFrame,但这是一个相对低效的操作,因为每个步骤都需要一个副本。 reindex提供了一种将数据与新索引对齐的简单方法,然后您可以使用方法向前填充值fillna。
In [31]: df = df.set_index('bin')
...: df = df.reindex(range(5, 65, 5)).fillna(method='ffill')
In [32]: df
Out[32]:
var1 var2 var3 var4
bin
5 -76.30 71.96 557.79 0.06
10 -61.23 78.14 600.69 0.09
15 -54.36 73.63 630.71 0.03
20 -12.41 71.46 661.19 0.08
25 -12.41 71.46 661.19 0.08
30 -12.41 71.46 661.19 0.08
35 -12.41 71.46 661.19 0.08
40 -12.41 71.46 661.19 0.08
45 -12.41 71.46 661.19 0.08
50 -12.41 71.46 661.19 0.08
55 -12.41 71.46 661.19 0.08
60 -12.41 71.46 661.19 0.08
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3805 次 |
| 最近记录: |