作者热门文章
- html - 我的下拉菜单的内容关闭得太快
- c# - 使用 Html Agility Pack 从网页中的表中获取值而不使用 "SelectNode'
- html - 内容容器下的 CSS 下拉菜单
- html - 如何停止嵌套列表重叠父列表?
计算 trimmed 的有效方法是什么?或winsorized列表的标准差?
我不介意使用numpy
,但如果我必须制作列表的单独副本,它会非常慢。
最佳答案
这将制作两个副本,但您应该尝试一下,因为它应该非常快。
def trimmed_std(data, low, high):
tmp = np.asarray(data)
return tmp[(low <= tmp) & (tmp < high)].std()
是否需要进行排名顺序修剪(即修剪 5%)?
更新:
如果需要百分位修剪,我能想到的最好方法是先对数据进行排序。像这样的东西应该有效:
def trimmed_std(data, percentile):
data = np.array(data)
data.sort()
percentile = percentile / 2.
low = int(percentile * len(data))
high = int((1. - percentile) * len(data))
return data[low:high].std(ddof=0)
显然,您可以在不使用 numpy 的情况下实现此目的,但即使包括将列表转换为数组的时间,使用 numpy 也比我能想到的更快。
关于python - 修剪/缩尾标准差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9012761/
我有一个具有可变数量子元素的固定大小的 div。我不知道 children 的大小。目标是缩小它们以适合父级。 例子: .parent { width: 100px; height: 100p
我是一名优秀的程序员,十分优秀!