【发布时间】:2016-03-06 18:53:02
【问题描述】:
该算法只是从输入数据数组构建一个新列表。只有当元素超过了前一个存储元素的 visibleDelta 阈值时,它才会从输入数组中追加一个新元素:
def subsample(data, visibleDelta):
subsampled = [data[0]]
for point in data[1:]:
if abs(point - subsampled[len(subsampled) - 1]) > visibleDelta:
subsampled.append(point)
return subsampled
问题是我需要它在非常大的数据集(~1B 值)上运行,如果可能的话,我想使用 numpy 或其他一些数值库来做到这一点。
我可能应该提到,“真实”函数不仅仅处理一维数据数组。输入数据将是一个 pandas 数据框,第一列是 x 值,第二列是 y 值(我将比较 y 值)。
有什么方法可以有效地做到这一点?
【问题讨论】:
标签: python arrays pandas numpy bigdata