hur*_*ght 3 python arrays numpy
我是python的新用户,在深入了解NumPy模块的工作方式方面我很有趣。我正在写一个能够将掩码和未掩码数组都用作数据输入的函数。我已经注意到,有几个numpy的蒙版操作看起来与普通(非蒙版)对应对象相似(甚至可以工作?)。此类功能之一是numpy.zeros和numpy.ma.zeros。有人可以告诉我使用numpy.ma.zerosvs 创建数组的好处numpy.zeros吗?使用遮罩数组时,它会产生实际的不同吗?我已经注意到,当我使用numpy.zeros_like它时,无论是创建遮罩数组还是未遮罩数组都可以正常工作。
np.ma.zeros创建一个掩码数组而不是普通数组,如果此数组上的某些后续操作创建了无效值,这可能会很有用。手册中的一个示例:
数组有时包含无效或丢失的数据。在此类数组上执行操作时,我们希望抑制无效值,这是掩码数组满足的目的(下面提供了典型用法的示例)。
例如,检查以下数组:
Run Code Online (Sandbox Code Playgroud)>>> x = np.array([2, 1, 3, np.nan, 5, 2, 3, np.nan])当我们尝试计算数据的均值时,结果不确定:
Run Code Online (Sandbox Code Playgroud)>>> np.mean(x) nan均值是使用粗略来计算的
np.sum(x)/len(x),但是由于NaN产生物中增加了任何数字NaN,因此不起作用。输入屏蔽的数组:Run Code Online (Sandbox Code Playgroud)>>> m = np.ma.masked_array(x, np.isnan(x)) >>> m masked_array(data = [2.0 1.0 3.0 -- 5.0 2.0 3.0 --], mask = [False False False True False False False True], fill_value=1e+20)在这里,我们构造了一个屏蔽所有
NaN值的掩码数组。现在,我们可以计算其他值的平均值:Run Code Online (Sandbox Code Playgroud)>>> np.mean(m) 2.6666666666666665
| 归档时间: |
|
| 查看次数: |
736 次 |
| 最近记录: |