我有三个数组:经度(400,600),纬度(400,600),数据(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))
问题是“频率”不是我想要的。我希望数据数组沿零轴展平,这样“频率”将是一个位置的 30 个值。numpy 中是否有这样的函数沿特定轴展平ndarray?