我想在numpy数组中转换此列表:
var=[array([ 33.85967782]), array([ 34.07298272]), array([ 35.06835424])]
结果应如下:
[[ 33.85967782]
[ 34.07298272]
[ 35.06835424]]
但是,如果我输入var = np.array(var)
,结果如下:
[array([ 33.85967782]) array([ 34.07298272]) array([ 35.06835424])]
我有numpy库:import numpy as np
答案 0 :(得分:5)
np.vstack
是执行此操作的规范方法:
>>> var=[np.array([ 33.85967782]), np.array([ 34.07298272]), np.array([ 35.06835424])]
>>> np.vstack(var)
array([[ 33.85967782],
[ 34.07298272],
[ 35.06835424]])
如果你想要一个形状(n,1)
的数组,但你有多个元素的数组,你可以执行以下操作:
>>> var=[np.array([ 33.85967782]), np.array([ 35.06835424, 39.21316439])]
>>> np.concatenate(var).reshape(-1,1)
array([[ 33.85967782],
[ 35.06835424],
[ 39.21316439]])
答案 1 :(得分:4)
我不知道为什么你的方法不起作用,但这对我有用:
>>> import numpy as np
>>> from numpy import array
>>> var=[array([ 33.85967782]), array([ 34.07298272]), array([ 35.06835424])]
>>> np.array(var)
array([[ 33.85967782],
[ 34.07298272],
[ 35.06835424]])
这也很有用(新口译员):
>>> import numpy as np
>>> var = [np.array([ 33.85967782]), np.array([ 34.07298272]), np.array([ 35.06835424])]
>>> np.array(var)
array([[ 33.85967782],
[ 34.07298272],
[ 35.06835424]])