擅长:python、mysql、java
<p>程序的逻辑实际上精确地映射到<code>numpy.select</code>上,元素根据条件(布尔)数组列表从数组列表中选择,第一个匹配获胜。所以你可以简洁地写下</p>
<pre><code>conditions = QAB&(128>>np.arange(8))[:,None,None]
values = ["OutOfSwath","Cloud","Cloud Shadow","Adjacent Cloud","Cirrus","Snow/Ice",
"Water","High Aerosol","Avrg. Aerosol","Low Aerosol","Aerosol Climatology"]
np.select([QAB==255,*conditions[[6,4,5,7,3,2]],*(QAB==np.arange(0,256,64)[::-1,None,None])],values)
</code></pre>