Numpy的hstack、vstack或dstack(取决于要连接数组的轴)将连接多维数组。在
请注意,对于MODIS气溶胶数据,使用hstack连接阵列有时会抛出错误,因为有时阵列是203 x 135,有时是204 x 135,因此水平维度并不总是匹配的
基于您的代码构建(不漂亮,但功能强大):import glob
import numpy as np
import os
from pyhdf.SD import SD,SDC
files = glob.glob('MOD04*')
files.sort()
for n, f in enumerate(files):
product = f[0:5]+ '-Atmospheric Product'
year = f[10:14]
jdn = f[14:17] # julian day number
# Read dataset.
hdf = SD(f, SDC.READ)
data3D = hdf.select('Deep_Blue_Aerosol_Optical_Depth_550_Land')
data = data3D[:,:].astype(np.double)
# Read geolocation dataset
lat = hdf.select('Latitude')
latitude = lat[:,:]
lon = hdf.select('Longitude')
longitude = lon[:,:]
if n != 0 and jdn != old_jdn:
#do analysis; write to file for later analysis; etc.
pass
if n == 0 or jdn != old_jdn:
data_timeseries = data
latitude_timeseries = latitude
longitude_timeseries = longitude
else:
data_timeseries = np.vstack((data_timeseries, data))
latitude_timeseries = np.vstack((latitude_timeseries, latitude))
longitude_timeseries = np.vstack((longitude_timeseries, longitude))
print data_timeseries.shape
print latitude_timeseries.shape
print longitude_timeseries.shape
old_jdn = jdn