首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在python中按多数过滤出列表?

如何在python中按多数过滤出列表?
EN

Stack Overflow用户
提问于 2020-11-10 15:58:37
回答 1查看 45关注 0票数 0

我目前正在研究一种算法,它从超声波传感器(距离传感器)中获取值,该传感器不断读取并计算最近10个值的平均值。问题是超声波传感器会有随机的尖峰,这会显着偏离平均读数。

代码语言:javascript
复制
example of readings

19.42
19.43
130.50
19.46
19.44
19.42
144.52
19.4
145.90
19.37
[Average Distance:23] #just a example not actual results

所以现在我想知道是否有任何方法可以忽略基于多数的高值,例如,如果列表中有大多数小值,它将忽略高值,反之亦然,如果有大多数高值忽略小值。

代码语言:javascript
复制
example of desired result

19.42
19.43
130.50  
19.46
19.44
19.42
144.52
19.4
145.90
19.37
[Average Distance:19]  #ignored spiked values are the majority of numbers are 19

如果需要进一步的解释/例子,一定要让我知道,提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-10 16:13:10

您可以使用numpy.median

代码语言:javascript
复制
import numpy as np
vals = np.array([19.42
,19.43
,130.50  
,19.46
,19.44
,19.42
,144.52
,19.4
,145.90
,19.37])
np.median(vals)

生成19.435。中位数是这样一个点,即一半的观测值在上面,一半在下面,请参阅median

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64764900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档