【发布时间】:2012-09-24 08:46:05
【问题描述】:
我有三个数组: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))
问题是“频率”不是我想要的。我希望数据数组沿零轴展平,这样“频率”将是一个位置的 30 个值。是否有这样的功能在 numpy 中沿特定轴展平 ndarray?
【问题讨论】:
标签: python numpy flat multidimensional-array