모두 스칼라에게
In [1217]: b = np.ma.array([1,2,3], mask=[False, False, True])
In [1218]: b.mean()
Out[1218]: 1.5
In [1219]: b.sum()
Out[1219]: 3
귀하의 경우가 다르다을 반환 마스크 스칼라 False
아닌 배열 : '정말 shouldn
In [1220]: a=np.ma.array([1,2,3])
In [1221]: a
Out[1221]:
masked_array(data = [1 2 3],
mask = False,
fill_value = 999999)
In [1222]: a.mean()
Out[1222]:
masked_array(data = 2.0,
mask = False,
fill_value = 999999)
In [1223]: a.sum()
Out[1223]: 6
차이를 만들어라. 나는 이것에 대한 논의를보고 막연하게 기억하고있다. 나는 그것이 다른 문제인지 또는 버그 문제인지를 기억하지 못합니다. 또한 수정되었을 수도 있습니다. 우리는 수색을해야 할 것입니다. 내 NumPy와 버전은 '1.11.0'
이 문제는 마스크 mean
의의 시작에 선입니다 :
if self._mask is nomask:
result = super(MaskedArray, self).mean(axis=axis, dtype=dtype)
nomask
이 False
스칼라가; 그래서 당신의 a
경우에는 그 마스크에 특별한 일을하지 않고도 보통 numpy 평균을 수행하려고 시도합니다. 하지만 입력과 동일한 하위 클래스의 결과를 반환하려고합니다.
a
마스크를 배열로 변경하면 문제가 해결됩니다.
In [1247]: a.mask=[False,False,False]
==============
확인, 중복 내가 bugissue을 발견
numpy.ma (masked) array mean method has inconsitent return type
눈에 잘 띄는 곳에 사이드 바에서 숨어 지난 7 월, 그러나 패치는 없습니다.