IDL设置数组的中的nodata值

4 篇文章 0 订阅


情形一:
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即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值