首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何沿轴线压平一条稀疏的ndarray?

如何沿轴线压平一条稀疏的ndarray?
EN

Stack Overflow用户
提问于 2012-09-24 16:46:05
回答 4查看 6.7K关注 0票数 3

我有三个数组:经度(400,600),纬度(400,600),数据(30,400,60);我要做的是根据数据的位置(纬度和经度)提取数据数组中的值。

下面是我的代码:

代码语言:javascript
复制
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))

问题是“频率”不是我想要的,我想让数据数组沿着零轴展平,这样“频率”将是一个location.Is上的30个值,在numpy中有这样一个函数,沿着特定的轴展平ndarray?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-09-24 17:13:38

我猜你真正想要的只是transpose改变轴的顺序。根据您如何处理它,在transposed之后执行.copy()以优化内存布局可能很有用,因为转置本身不会创建副本。

另外,如果你想做一些超出FC顺序的东西,你可以使用transposed = ndarray.transpose([1,2,0])将第一个轴移动到最后,最后一个轴移动到第二个位置,然后做transposed.ravel() (我假设是C顺序,所以把0轴移动到最后)。您还可以使用比简单的ravel更强大的reshape (返回形状可以是任何维度)。

请注意,除非步长完全相加,否则numpy将不得不复制数组,在许多情况下,您可以通过非常好的transposed.flat()迭代器来避免这种情况。

票数 4
EN

Stack Overflow用户

发布于 2012-09-24 16:49:32

您可以尝试使用np.ravel(your_array)your_array.shape=-1np.ravel函数允许您使用一个可选参数order:对于行为主的顺序选择C,对于列为主的顺序选择F

票数 6
EN

Stack Overflow用户

发布于 2012-09-24 16:53:58

代码语言:javascript
复制
>>> a = np.random.rand(2,2,2)
>>> a
array([[[ 0.67379148,  0.95508303],
        [ 0.80520281,  0.34666202]],

       [[ 0.01862911,  0.33851973],
        [ 0.18464121,  0.64637853]]])
>>> np.ravel(a)
array([ 0.67379148,  0.95508303,  0.80520281,  0.34666202,  0.01862911,
        0.33851973,  0.18464121,  0.64637853])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12561568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档