我使用以下脚本在python中按间隔集成(平均)数据:
# N = points to mean in the array
# data = original data
# data_mean = average data each N points
data_mean = np.array([np.mean(i) for i in np.array_split(data, len(data)/N)])
怎么能在IDL中做到这一点? 有一个"意思是"功能,但是" array_split-like"?
答案 0 :(得分:0)
IDL mean
函数等同于numpy mean
函数,IDL reform
可以与numpy array_split
类似地使用:
data_mean = mean(reform(data, n_elements(data) / N), dimension=2)
如果您不介意data
以不同尺寸结尾,则可以使用/overwrite
关键字大大提高速度:
data_mean = mean(reform(data, n_elements(data) / N, /overwrite), dimension=2)
最后,如果您在IDL 8.0 之前有版本的IDL,那么您将不会拥有dimension
功能的mean
关键字。请使用此(不太优雅)的模式:
data_mean = total(reform(data, n_elements(data) / N), 2) / N
请注意,此版本total
也接受/nan
关键字,因此即使缺少某些数据也能正常运行。