gpt4 book ai didi

python - 忽略/跳过 numpy 数组中的值?

转载 作者:太空宇宙 更新时间:2023-11-04 10:39:05 26 4
gpt4 key购买 nike

我正在从 h5 文件中读取数据(确切地说是像素值),并使用 numpy 在直方图中绘制数据。在我的像素值数组中,我的无数据值为 99999(我的数据范围为 -40 到 20)。我根据我手动设置的最小值和最大值(分别为 -40 和 20)创建直方图,因此无数据值不会显示在我的直方图中 - 这很好。但是,我想在我的数据上拟合一条正态曲线,为此我需要数据集的均值和标准差。当我使用 numpy.mean 和 numpy.std 生成它们时,它包含无数据值,因此我的均值和 SD 值相距甚远,我随后的正态曲线也相距甚远。

本质上,有没有一种方法可以从数组中生成均值和标准差,忽略给定值(即我的无数据值:99999)或者将我的数组的值输出到一个没有无数据的新数组值(value)?

谢谢

最佳答案

听起来您应该将数据存储在一个屏蔽数组中,而不是这种具有 99999 无数据值的 hacky 方法。开始在 np.ma 中查找。

简单的例子:

>>> a = np.array([1, 2, 99999, 3])
>>> a.mean()
25001.25
>>> a_ = np.ma.masked_array(a, a == 99999)
>>> a_.mean()
2.0
>>> a_
masked_array(data = [1 2 -- 3],
mask = [False False True False],
fill_value = 999999)

关于python - 忽略/跳过 numpy 数组中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21834415/

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