python - 将 Numpy 数组中最终作为单独数组的所有元素更改为 float Python

标签 python arrays numpy

我有一个数组,其中数组中的所有元素也是数组:

a = [[array([ 4.15167139]) array([ 2.80260218]) array([ 3.34189103])
  array([ 3.73434426]) array([ 3.76504973]) array([ 3.91946708])
  array([ 2.850741]) array([ 1.9985034]) array([ 4.05191836])
  array([ 3.46145848]) array([ 2.99489689]) array([ 2.60462582])
  array([ 1.91031189]) array([ 2.90006744]) array([ 3.69799451])
  array([ 3.83314665]) array([ 4.42917628]) array([ 5.17647658])
  array([ 4.63462677]) array([ 4.69085313]) array([ 4.84746095])
  array([ 5.04396694]) array([ 5.10152712]) array([ 3.33442499])
  array([ 4.87380637]) ...]]

我希望它是与现在相同的形状数组(20,96),但我希望它们是 float ,而不是该数组中的所有元素都是数组:

 a = [[ 4.15167139  2.80260218  3.34189103...4.87380637 ...]]

迭代此数组并将所有元素从单个数组更改为 float 的最佳方法是什么?

最佳答案

使用索引删除顶层[]

In [159]: array=np.array
In [161]: a = [[array([ 4.15167139]), array([ 2.80260218]), array([ 3.34189103]),
     ...:   array([ 3.73434426]), array([ 3.76504973]), array([ 3.91946708])]]
In [162]: len(a)
Out[162]: 1
In [163]: len(a[0])
Out[163]: 6

使用concatenatestack来连接数组列表。

In [164]: np.stack(a[0])
Out[164]: 
array([[ 4.15167139],
       [ 2.80260218],
       [ 3.34189103],
       [ 3.73434426],
       [ 3.76504973],
       [ 3.91946708]])
In [165]: np.concatenate(a[0])
Out[165]: 
array([ 4.15167139,  2.80260218,  3.34189103,  3.73434426,  3.76504973,
        3.91946708])

根据需要 reshape 形状。

在这种情况下,np.array也可以工作,但我发现concatenate方法更可靠。有时 np.array 只是生成一个对象数组。

In [166]: np.array(a[0])
Out[166]: 
array([[ 4.15167139],
       [ 2.80260218],
       [ 3.34189103],
       [ 3.73434426],
       [ 3.76504973],
       [ 3.91946708]])

关于python - 将 Numpy 数组中最终作为单独数组的所有元素更改为 float Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44917731/

相关文章:

python - SWIG fatal error C1083 : Cannot open include file

javascript - 复杂场景下如何过滤重复行

performance - Scipy Python 中的高效并行稀疏矩阵点积

python - 在python中加载之前如何知道CSV行数?

python - Mayavi 如何显示轴网格

python - @monthly cron 工作不可靠

Python - 高级参数嵌套循环

javascript - 数组中每个项目的打印选项

ios - addObjectsFromArray 在 Swift 中不可用

python - 尝试在 Windows 7 中的 Anaconda(python) 上安装 pymc 并出现奇怪的错误?