gpt4 book ai didi

python - 修剪/缩尾标准差

转载 作者:行者123 更新时间:2023-11-30 23:46:24 25 4
gpt4 key购买 nike

计算 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com