将列表转换为numpy数组

Pri*_*nan 30 python numpy scikit-learn

我已经设法使用命令行sklearn将图像加载到一个文件夹中: load_sample_images()

我现在想将其转换为numpy.ndarray具有float32数据类型的格式

我能够将它转换为np.ndarray使用:np.array(X),np.array(X, dtype=np.float32)然后np.asarray(X).astype('float32')给我错误:

ValueError: setting an array element with a sequence.
Run Code Online (Sandbox Code Playgroud)

有办法解决这个问题吗?

from sklearn_theano.datasets import load_sample_images
import numpy as np  

kinect_images = load_sample_images()
X = kinect_images.images

X_new = np.array(X)  # works
X_new = np.array(X[1], dtype=np.float32)  # works

X_new = np.array(X, dtype=np.float32)  # does not work
Run Code Online (Sandbox Code Playgroud)

Tho*_*ves 29

如果你有一个列表列表,你只需要使用...

import numpy as np
...
npa = np.asarray(someListOfLists, dtype=np.float32)
Run Code Online (Sandbox Code Playgroud)

根据scipy/numpy文档中的这个LINK.你只需要在对asarray的调用中定义dtype.