我想对存储在 Pandas 数据帧中的时间序列使用 Ramer-Douglas-Peucker 算法,然后将结果存储在我的数据帧中。
有一个实现 Ramer-Douglas-Peucker 算法 (rdp https://pypi.org/project/rdp/) 的包。
数据框使用日期索引(dtype:datetime64)
我正在尝试按以下方式实现:
import rdp
import numpy as np
import pandas as pd
points = np.c_[range(0,df['value'].size), df['value']]
points_rdp = rdp.rdp(points, epsilon=0.1)
values_rdp = [None for _ in range(0,data['close'].size)]
for value in points_rdp :
values_rdp[int(value[0])] = value[1]
df['value_rdp'] = values_rdp
我觉得这可以通过更聪明的方式来完成。
先谢谢你!