gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 02:46:50 26 4
gpt4 key购买 nike

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

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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com