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 © 2024
京ICP备05028076号