众所周知,Python和Java一样是基于虚拟机的语言,并不是像C/C++那样将程序代码编译成机器语言再运行,而是解释一行执行一行,速度比较慢。使用Numba库的JIT技术编译以后,可以明显提高程序的运行速度。
from numba import jit
@jit
def sum_array(array,sum_array,years_valid):
"""将两个数组对应值相加,并统计有效的年数"""
for i in range(0,3600):
for j in range(0,7200):
if array[i,j] >= 0: #排除填充值
years_valid[i,j] += 1
sum_array[i,j] += array[i,j]
return sum_array,years_valid
其加速效果十分明显。