Python:展平ndarray

2024-05-21 08:40:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我继承了一些python代码,其ndarray如下:

>>> ARCoeff
Out[6]: array([array([[ 1.16179327, -0.1721163 ]])], dtype=object)

>>> ARCoeff.dtype
Out[7]: dtype('O')

>>> ARCoeff.shape
Out[8]: (1,)

>>> type( ARCoeff )
Out[2]: numpy.ndarray

如何将数组提取为

^{pr2}$

编辑:

根据提供的建议,我得到的结论是:

>>> z = ARCoeff.flatten().tolist()

>>> z[0]
Out[19]: array([[ 1.16179327, -0.1721163 ]])

>>> z1 = z[0]

>>> type(z1)
Out[21]: numpy.ndarray

所以,我又回到了一个新时代。在

编辑2:

>>> np.version.version
Out[31]: '1.8.0'

编辑3:

>>> z = ARCoeff.flatten().flatten().tolist()
>>> type(z)
Out[38]: list
>>> z1 = z[0]
>>> type(z1)
Out[40]: numpy.ndarray

请问为什么我的问题被否决了?我对Python很陌生,所以请忍受我。在


Tags: 代码numpy编辑objectversiontypeoutarray
3条回答

ndarray.flatten就是为了这个目的而存在的。在

>>> import numpy as np
>>> a = np.array([np.array([[ 1.16179327, -0.1721163 ]])], dtype=object)
>>> a.flatten()
array([1.16179327, -0.1721163], dtype=object)

或者

^{pr2}$

要重现操作的显示,我必须使用:

In [83]: x=np.zeros((1,),dtype=object)    
In [84]: x[0]=np.array([[ 1.16179327, -0.1721163 ]])
In [85]: x
Out[85]: array([array([[ 1.16179327, -0.1721163 ]])], dtype=object)

这和

^{pr2}$

np.array尝试将其输入转换为高维数组,并删除嵌套数组的大多数证据。在

从名称来看,我猜这个数组来自一个名为ARC的库,我相信这是一个映射库。在

在任何情况下,我们都可以通过索引将内部数组拉出:

In [86]: x[0]
Out[86]: array([[ 1.16179327, -0.1721163 ]])

现在,这是一个简单的二维阵列,可以展平、展开或重塑:

In [87]: x[0].flatten()
Out[87]: array([ 1.16179327, -0.1721163 ])

flatten对原始的x没有任何作用,因为它已经是1d了。在


{cd5>在MATLAB文档中找到

http://www.mathworks.com/help/econ/modify-regarima-model-properties.html

对象数组中的2d数组是scipy如何加载MATLAB文件的特征。在

八度音阶我能做到

octave:11> ARCoeff={[1,2,3]};
octave:12> save -7 test.mat ARCoeff

在IPython中,使用scipy.io.loadmat加载文件

In [99]: from scipy.io import loadmat

In [100]: M=loadmat('test.mat')

In [101]: M['ARCoeff']
Out[101]: array([[array([[ 1.,  2.,  3.]])]], dtype=object)

你试过内置的.tolist()方法吗?在

>>> RCoeff.tolist()

相关问题 更多 >