假设我有一个传感器的数据,格式如下:
data = [100, 140, 200, 250, 210, 300, 350, 380, 400, 333, 352, 399, 599, 899]
我想从这些数据中删除分辨率,以便以后可以在嵌入式设备中修改它的C++格式.
我想强行解析数据.例如:没有一步必须低于50,那么,所有的值必须向上或向下舍入,我不在乎,一个乘法50.结果必须是:
data = [100, 150, 200, 250, 250, 300, 350, 400, 400, 350, 400, 400, 600, 900]
我试过这个代码:
def curate_data(data: list, step_size: int = 1000):
def _round(number, increment, offset):
return round((number - offset) / increment) * increment + offset
curated_data = [data[0]]
for i in range(1, len(data)):
append_value = int(data[i])
if data[i] - curated_data[-1] < step_size:
# round to nearest multiple of step_size
append_value = _round(number=data[i], increment=step_size, offset=0)
curated_data.append(append_value)
return curated_data
但它没有产生我预期的结果.
如何管理这些数据以达到所需的分辨率?谢谢