NumPy 中文文档

version: 1.14.0

Built with Teadocs

例子

# 例子

# 具有给定值的数据,表示缺少的数据。

让我们考虑一个元素列表,x,其中值为-9999。 代表缺失的数据。 我们希望计算数据的平均值和异常矢量(偏离平均值):

>>> import numpy.ma as ma
>>> x = [0.,1.,-9999.,3.,4.]
>>> mx = ma.masked_values (x, -9999.)
>>> print mx.mean()
2.0
>>> print mx - mx.mean()
[-2.0 -1.0 -- 1.0 2.0]
>>> print mx.anom()
[-2.0 -1.0 -- 1.0 2.0]

# 填充缺失的数据

假设现在我们希望打印相同的数据,但是,是用平均值替换缺失的值。

>>> print mx.filled(mx.mean())
[ 0.  1.  2.  3.  4.]

# 数值运算

可以轻松地进行数值运算,而不必担心丢失的值、除以零、负数的平方根等等:

>>> import numpy as np, numpy.ma as ma
>>> x = ma.array([1., -1., 3., 4., 5., 6.], mask=[0,0,0,0,1,0])
>>> y = ma.array([1., 2., 0., 4., 5., 6.], mask=[0,0,0,0,0,1])
>>> print np.sqrt(x/y)
[1.0 -- -- 1.0 -- --]

输出的四个值无效:第一个值来自于取负数的平方根,第二个值来自于被0除的值,最后两个值来自于隐藏输入的值。

# 忽略极值

让我们考虑一个由0到1之间的随机浮动组成的数组d。我们希望计算d值的平均值,而忽略[0.1,0.9]范围以外的任何数据:

>>> print ma.masked_outside(d, 0.1, 0.9).mean()