繁体   English   中英

如果数据存储在numpy数组中,如何取所有大于某个数值的中位数?

[英]How to take a median of all the values greater than a certain number if the data is stored in a numpy array?

我想使用np.median()取所有大于某个值(在我的情况下为50)的值的中位数。 我该怎么办?

这是一种方法。 我不能说这是否是最好的方法:

In [14]: a=np.array([1,5,10,25,50,75,100])

In [15]: a>50
Out[15]: array([False, False, False, False, False,  True,  True], dtype=bool)

In [16]: a[a>50]
Out[16]: array([ 75, 100])

In [17]: np.median(a[a>50])
Out[17]: 87.5

如果您的数据在列表l中,则执行

np.median([val for val in l if val > 50])

采用:

a = np.array([23, 50, 100, 120])
np.median(a[a > 50])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM