Python和科学计算认证群组  - 讨论区

标题:缺省值、默认值

2011年01月22日 星期六 10:55

import numpy as np

a = np.arange(3)

b = np.array([2, 1, 3])

np.cov(a, b)

-------

array([[ 1. ,  0.5],
       [ 0.5,  1. ]])

-------

a = np.ma.masked_values(a, 1)

a

--------

masked_array(data = [0 -- 2],
             mask = [False  True False],
       fill_value = 1)

--------

np.cov(a, b)

-------

array([[ 1. ,  0.5],
       [ 0.5,  1. ]])
-------

结果没有变。

c = np.array([0, 2])

d = np.array([2, 3])

np.cov(c, d)

------

array([[ 2. ,  1. ],
       [ 1. ,  0.5]])

------

那要怎样才能使得1变成缺省值,并且在用像np.cov这种函数的时候不会把它牵涉进来呢?

另外,把 数组 a 中的1已经设为缺省值了,但是如果把 a[0] = 1,a[0]并不会被mask。

有没有什么函数能把一个数组中的一个数永远成为缺省值,如果后来有新的值赋进来了,它也能够识别出来。

谢谢~~

2011年01月22日 星期六 11:31

masked_array需要专门的函数进行处理,这些函数都在np.ma里面。

你可以试试np.ma.cov()。

2011年01月22日 星期六 12:38

原来如此

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号