情形一:
arr
0.00000000 1.0000000 2.0000000
3.0000000 NaN 5.0000000
6.0000000 7.0000000 8.0000000
>>arr[where(arr ne !values.F_NAN)]
0.00000000 1.0000000 2.0000000 3.0000000 NaN 5.0000000 6.0000000 7.0000000
8.0000000
发现虽然指定了不等于nan的,但仍然把NaN统计进来了,所以再求mean,max时仍然为NaN
即mean(arr[where(arr ne !values.F_NAN)])= NaN
情形二:
令指定元素为无穷时:
arr
0.00000000 1.0000000 2.0000000
3.0000000 Inf 5.0000000
6.0000000 7.0000000 8.0000000
mean(arr[where(arr ne !values.F_INFINITY)]) 等于4.000,就是说排除了Inf。
打印出来发现只有8个元素,排除了Inf。
arr[where(arr ne !values.F_INFINITY)]
0.00000000 1.0000000 2.0000000 3.0000000 5.0000000 6.0000000 7.0000000 8.0000000
综上所述,如果想排除指定区域的值是可以使用指定其值为inf即可。