1
我使用的是for
循環在目錄中打開12個文件中,每個代表一個月份的一年,形狀如圖所示:結合numpy的陣列循環
(31, 180, 140)
(28, 180, 140)
(31, 180, 140)
(30, 180, 140)
(31, 180, 140)
(30, 180, 140)
(31, 180, 140)
(31, 180, 140)
(30, 180, 140)
(31, 180, 140)
(30, 180, 140)
(31, 180, 140)
我試圖用append
來這些文件合併成一個列表,如圖所示:
directory = r"C:\Users\matth\Downloads\TRMM_3B42RT"
for root, dirs, filenames in os.walk(directory):
precip_subsetland2010 = []
for f in filenames:
if f.startswith("3B42RT_Daily.2010"):
log = open(os.path.join(root, f), 'r')
datapath2 = (("C:\\Users\\matth\\Downloads\\TRMM_3B42RT\\") + f)
f = Dataset(datapath2)
latbounds = [ -45 , -10 ]
lonbounds = [ 105, 150 ]
lats = f.variables['lat'][:]
lons = f.variables['lon'][:]
# latitude lower and upper index
latli = np.argmin(np.abs(lats - latbounds[0]))
latui = np.argmin(np.abs(lats - latbounds[1]))
# longitude lower and upper index
lonli = np.argmin(np.abs(lons - lonbounds[0]))
lonui = np.argmin(np.abs(lons - lonbounds[1]))
precip_subset = f.variables['precipitation'][ : , lonli:lonui , latli:latui ]
precip_subsetland2010.append(precip_subset)
precipsubsetland2010 = np.asarray(precip_subsetland2010)
print(precipsubsetland2010.shape)
不過,我得到的輸出如下所示:
OUTPUT:
(1, 31, 180, 140)
(2,)
(3,)
(4,)
(5,)
(6,)
(7,)
(8,)
(9,)
(10,)
(11,)
(12,)
我最終希望將數據添加到列表中,然後轉換爲形狀爲(365, 180, 140)
的數組。我怎樣才能做到這一點?這是append
的正確應用嗎?
你們需要更多的信息來解答嗎? –
'precip_subset'有你提到的形狀嗎?打印出它的形狀。 –
@cᴏʟᴅsᴘᴇᴇᴅ:我在開頭打印的形狀列表是12個文件的「沉澱物集」的形狀。 –