Python 屏蔽数组的“fill_value”有什么实际影响(如果有)?
显示Python 屏蔽数组的“fill_value”有什么实际影响(如果有)?,python,arrays,numpy,masked-array,Python,Arrays,Numpy,Masked Array,显示遮罩darray时,系统会告诉我数据、遮罩和填充值。当然,数据和掩码非常重要。但填充值的实际意义是什么?我甚至可以,但我为什么要这样做呢?填充值不只是一个没有实际影响的实现细节吗 换句话说,fill\u值是否对任何不直接寻址的代码有任何影响?查看屏蔽数组类代码,我看到: 设置和获取填充值的方法 filled()方法,该方法返回一个副本,其中屏蔽值替换为fill\u值。这是它的“直接”使用 调用填充的方法作为计算的一部分 masked.all()填充True,然后执行普通数组all mas
遮罩darray
时,系统会告诉我数据、遮罩和填充值。当然,数据和掩码非常重要。但填充值的实际意义是什么?我甚至可以,但我为什么要这样做呢?填充值不只是一个没有实际影响的实现细节吗
换句话说,
fill\u值
是否对任何不直接寻址的代码有任何影响?查看屏蔽数组
类代码,我看到:
- 设置和获取填充值的方法
方法,该方法返回一个副本,其中屏蔽值替换为filled()
fill\u值。这是它的“直接”使用
- 调用
填充的方法作为计算的一部分
masked.all()
填充True
,然后执行普通数组all
masked.any()
填充False
屏蔽。非零()
return narray(self.filled(0), copy=False).nonzero()
trace
和sum
也用0填充,但prod
用1
填充
argsort
(以及其他方法,如argmin
)使用:
这些方法采用fill\u值
参数,或使用self.fill\u值
。对于这样的方法,用户可能对如何在排序或取最小值/最大值时使用屏蔽值有强烈的偏好
因此,fill_值
对于高效的数组计算至关重要。有些方法需要一个特殊的值,其他方法可以使用用户想要的任何方法。Heh,这是一个好问题(但可能不是一个好问题)。我在向上投票和投票结束之间摇摆不定。:)这不是一个实现细节,而是每个数组的一个参数。@WarrenWeckesser我重新措辞,以避免给人留下问题主观的印象。我希望现在更清楚了。首先,它将默认参数指定为masked\u array.filled()
。
d = self.filled(fill_value).view(ndarray)