我的数据如下:
timestamp value
0 12345 0.0
1 12346 1.0
2 12347 4.0
3 12348 2.0
4 12349 6.0
...
我希望把它变成像这样的东西:
timestamp value
0 12345 0.5
1 12346 0.5
2 12347 3.0
3 12348 3.0
4 12349 6.0
...
我希望通过用一定时间范围的平均值替换它来降低我的值的“分辨率”。这类似于:
df = df.groupby(df.index // N).mean()
其中N是要表示的行数,除了:
我意识到这有点复杂,并且可以在各种不同的步骤中完成,但我是使用pandas的新手,并且希望有更简单的内置步骤。任何指针都非常赞赏!
答案 0 :(得分:1)
试试这个:
In [12]: df['value'] = df['value'].groupby(np.arange(len(df)) // N).transform('mean')
In [13]: df
Out[13]:
timestamp value
0 12345 0.5
1 12346 0.5
2 12347 3.0
3 12348 3.0
4 12349 6.0