提取3D(time,lat,lon)数组中的每个值并创建一个列表或一维数组

请原谅我,如果这很简单,但我是python的新手。我每天都有一个数据点,每个纬度(180度)和经度(360度)和时间(6624)是一个三维数组,具有numpy.shape(时间,纬度,经度)。我试图提取每一个风速并将其放入一个新的数组或列表中,以便我可以绘制直方图或概率密度函数。有没有在Python中提取每个这些值的方法?提取3D(time,lat,lon)数组中的每个值并创建一个列表或一维数组

回答:

所以如果你做wind_speedjja.shape你会得到(6624, 180, 360)

这不是一个有效的答案,更多的是用嵌套循环进行说明。

all_wsp = np.array([]) 

mtx = wind_speed.shape

for idx_lat in range(mtx[1]):

for idx_long in range(mtx[2]):

lat_long_wsp = wind_speed[:, idx_lat, idx_long]

# do a plot on lat_long_wsp, or your histogram

all_wsp = np.concatenate((all_wsp, lat_long_wsp))

# all_wsp will be all single values in a flattened array

如果你只是扁平阵列后,做flat_wsp = windspeed.flatten()

回答:

您的数据很大,所以您必须先采用全球方法。

当作玩具例子:

from pylab import * 

wind = rand(662,18,36)

means = wind.mean(axis=0)

subplot(121)

hist(means.ravel(),100)

subplot(122)

imshow(means)

colorbar()

show()

然后你可以决定你将调整哪些区域。

以上是 提取3D(time,lat,lon)数组中的每个值并创建一个列表或一维数组 的全部内容, 来源链接: utcz.com/qa/259683.html

回到顶部