我有一个数字列表(浮动),我想估计平均值。我还需要估计这种平均值的变化。我的目标是对列表进行100次重采样,我的输出将是一个长度为100的数组,每个元素对应于重采样列表的平均值
下面是一个简单可行的例子,说明我想要实现的目标:
import numpy as np
data = np.linspace(0, 4, 5)
ndata, boot = len(data), 100
output = np.mean(np.array([data[k] for k in np.random.uniform(high=ndata, size=boot*ndata).astype(int)]).reshape((boot, ndata)), axis=1)
然而,当我必须重复许多包含大量元素的列表时,这是相当缓慢的。这种方法看起来也很笨重,不符合肾盂。有什么更好的方法来实现我的目标
另外,我知道scipy.stats.bootstrap
,但我在anaconda
中将scipy
升级到1.7.1
时遇到问题,无法导入此内容
使用^{} :
如果我理解正确,此表达式(在您的问题代码中):
正在进行替换抽样,这正是np.random.choice所做的
以下是一些时间安排供参考:
可以看出
np.random.choice
产生了3倍的改善相关问题 更多 >
编程相关推荐