【发布时间】:2019-03-27 05:29:42
【问题描述】:
我有 11 年(2007 年到 2017 年)的每日温度档案。共有11*365 = 4015 NetCDF 文件。每个文件包含纬度(100,)、经度(360,) 尺寸和这些尺寸(360, 100) 的温度变量。我想在每个网格点找到 15 天的运行(移动)平均值,忽略 NaN 值(如果存在)。这意味着需要使用 15 个文件来找到平均值。我有以下功能可以从文件夹中读取所有日常文件。例如需要找到files_list[0:15]、files_list[1:16]、files_list[2:17]....、files_list[4000:] 的平均值。并且每个文件都意味着需要保存为一个新的 NetCDF 文件。我有一个创建 NetCDF 文件的想法。但找不到运行或移动平均线。
这是我的代码:
def files_list (working_dir, extension):
'''
input = working directory and extension of file(eg. *.nc)
outout = returns the list of files in the folder
'''
file_full_path = os.path.join(working_dir)
os.chdir(working_dir)
files = glob.glob(os.path.join(file_full_path,extension))
files = natsort.natsorted(files)
files_list= [] #Empty lsit of files
j = 0
for j in range(0,len(files)):
files_list.append(os.path.basename(files[j])) #appending each files in a directory to file list
return files_list
【问题讨论】:
-
每个文件有多少项?请分享这样一个文件的sn-p。如果每个文件包含数千个网格点,我将从将不同的网格点排序到单独的文件开始。每个文件将为所有日期保存相同的网格点,按日期排序。这样,加载单个网格点的整个文件并计算其运行平均值会很简单。
标签: python netcdf python-xarray