我有三个数组:longitude(400,600),latitude(400,600),data(30,400,60);我想要做的是根据其位置(纬度和经度)提取数据数组中的值。
以下是我的代码:
import numpy
import tables
hdf = "data.hdf5"
h5file = tables.openFile(hdf, mode = "r")
lon = numpy.array(h5file.root.Lonitude)
lat = numpy.array(h5file.root.Latitude)
arr = numpy.array(h5file.root.data)
lon = numpy.array(lon.flat)
lat = numpy.array(lat.flat)
arr = numpy.array(arr.flat)
lonlist=[]
latlist=[]
layer=[]
fre=[]
for i in range(0,len(lon)):
for j in range(0,30):
longi = lon[j]
lati = lat[j]
layers=[j]
frequency= arr[i]
lonlist.append(longi)
latlist.append(lati)
layer.append(layers)
fre.append(frequency)
output = numpy.column_stack((lonlist,latlist,layer,fre))
问题在于“频率”不是我想要的。我希望数据数组沿轴0展开,这样“频率”就会成为一个位置上的30个值。在numpy中是否有这样的函数可以沿特定轴展平ndarray?