![](/img/trans.png)
[英]How to dynamically create 3d numpy arrays from 2d numpy arrays using for loop
[英]How to efficiently create a 3D array from 2D arrays in python using numpy in a loop?
我正在提取NetCDF文件中的變量。 這些文件很大,我希望循環次數最少。 每個變量是162x174,我大約有200個這樣的文件。 我最后想要一個像Matlab中那樣的變量,它是3d-162x174x200。
在代碼中,除了追加,我嘗試了dstack和vstack,但是它們都不起作用。 我也不確定串聯會像2x162x174或162x174x2那樣發生。
from netCDF4 import Dataset
import os
import wrf
import numpy as np
import glob
os.chdir(r'G:\WRF')
ctt_wrf=[]
for file in glob.glob('wrfout_*'):
ncfile = Dataset(file)
ctt=wrf.getvar(ncfile, "ctt")
ctt_wrf.append(ctt)
np.array(ctt_wrf).shape
如果每個文件中的數據都是原子的,則您可能最終希望得到一個數組,該數組的大小為:number_of_files x 162 x 174,在這種情況下,您使用的方法的形狀為200 x 162 x 174
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.