数据是指IDL中的间隔

时间:2015-09-13 01:46:59

标签: python split average mean idl-programming-language

我使用以下脚本在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"?

1 个答案:

答案 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关键字,因此即使缺少某些数据也能正常运行。