我已经使用 numpy.genfromtxt
在 python 中加载了一个 .csv 文件。现在它返回一个一维 numpy.ndarray
,在该数组中,numpy.void
对象实际上只是整数数组。但是我想将它们从类型numpy.void
转换为numpy.array
。澄清一下:
>>> print(train_data.shape)
(42000,)
>>> print(type(train_data[0]))
<class 'numpy.void'>
>>> print(train_data[0])
(9, 0, 0)
所以这里的类型为 numpy.void
的数组 (9, 0, 0) 应该是一个 numpy.array
。
如何将 train_data
中的所有值转换为 numpy 数组?
效率也很重要,因为我要处理大量数据。
一些代码
>>> with open('filename.csv', 'rt') as raw_training_data:
>>> train_data = numpy.genfromtxt(raw_training_data, delimiter=',', names=True, dtype=numpy.integer)
>>> print(train_data.dtype)
[('label', '<i4'), ('pixel0', '<i4'), ('pixel1', '<i4')]
>>> print(type(train_data))
<class 'numpy.ndarray'>
最佳答案
使用 numpy.asarray()
方法,将输入转换为数组
array=numpy.asarray(train_data[0])
关于python - 将 numpy.void 转换为 numpy.ndarray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53067064/