python numpy与nans的加权平均值

wa4557

首先,第一件事:这不是NumPy的副本:计算去除NaN的平均值,我将解释原因:

假设我有一个数组

a = array([1,2,3,4])

我想用权重取平均值

weights = [4,3,2,1]
output = average(a, weights=weights)
print output
     2.0

好。因此,这非常简单。但是现在我有这样的事情:

a = array([1,2,nan,4])

当然,用通常的方法计算平均值nan我可以避免吗?原则上,我想忽略nan,所以我想要这样的东西:

a = array([1,2,4])
weights = [4,3,1]
output = average(a, weights=weights)
print output
     1.75
阿什维尼乔杜里(Ashwini Chaudhary)

先找项目无法索引nan,然后通过的过滤版本a,并weightsnumpy.average

>>> import numpy as np
>>> a = np.array([1,2,np.nan,4])
>>> weights = np.array([4,3,2,1])
>>> indices = np.where(np.logical_not(np.isnan(a)))[0]
>>> np.average(a[indices], weights=weights[indices])
1.75

正如@mtrw在评论中所建议的那样,在这里使用掩码数组而不是索引数组会更干净:

>>> indices = ~np.isnan(a)
>>> np.average(a[indices], weights=weights[indices])
1.75

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

numpy / python中的加权平均值

来自分类Dev

numpy / python中的加权平均值

来自分类Dev

python中数组的加权平均值

来自分类Dev

使用numpy.average的加权平均值

来自分类Dev

XSLT计算加权平均值

来自分类Dev

地理加权平均值

来自分类Dev

PyTorch张量的加权平均值

来自分类Dev

取列表的加权平均值

来自分类Dev

多行的SQL加权平均值-

来自分类Dev

如何计算加权平均值?

来自分类Dev

Gnuplot误差加权平均值

来自分类Dev

BigQuery 中的加权平均值

来自分类Dev

不同行的加权平均值

来自分类Dev

POSTGRESQL:加权平均值而不是平均值?

来自分类Dev

使用groupby的多列加权平均值,逐列丢弃NaNs

来自分类Dev

如何使用numpy向量化带掩码的加权平均值?

来自分类Dev

在PySpark中计算加权平均值

来自分类Dev

使用Pandas数据框计算加权平均值

来自分类Dev

如何获得按列分组的加权平均值

来自分类Dev

使用熊猫/数据框计算加权平均值

来自分类Dev

在单个查询中计算加权平均值

来自分类Dev

将加权平均值与合计值相加

来自分类Dev

Postgres(Amazon RDS)如何计算加权平均值

来自分类Dev

多列熊猫群加权平均值

来自分类Dev

我如何计算标题的加权平均值?

来自分类Dev

3 Excel中的可变加权平均值

来自分类Dev

包含特定值的行的熊猫加权平均值

来自分类Dev

在php中使用加权平均值进行分级

来自分类Dev

如果为负,则为加权平均值