【发布时间】:2021-10-01 14:40:31
【问题描述】:
我在 python 中有一个二维列表,其中包含图形的 X 和 Y 坐标。 像这样:
list1 = [[12345678, 12345678], [12345678, 12345678], [12345678, 12345678]]
每个内部列表的第一个元素是 X 轴,第二个是 Y 轴。所有 X 轴元素都是epoch (Unix timestamp),我想以某种方式减少此列表中的元素数量,方法是仅在某个设定间隔(例如 5 分钟)后保留时间戳。因此,应该删除下午 1:00 到下午 1:05 之间的任何点...
那么,如何以最有效的方式做到这一点
【问题讨论】:
-
你也可以向我推荐一个库,它可以对数据进行足够接近的下采样,这样我就不需要每 5 分钟跳过一次数据......(如果可能的话)
-
您需要一个开始时间和一个结束时间(开始时间 + 间隔)。对二维列表进行排序。遍历列表以查找大于或等于开始时间的第一个元素。记下它的位置(索引)。继续迭代,直到找到值大于结束时间的元素。注意索引。根据您确定的两个索引对原始数组进行切片。如果列表非常长,您可能需要实现二进制截断以建立比索引 0 更好的起点
标签: python arrays database list multidimensional-array