我已经用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'>
答案 0 :(得分:0)
使用numpy.asarray()
方法,该方法将输入转换为数组
array=numpy.asarray(train_data[0])
答案 1 :(得分:0)
我知道回答这个问题为时已晚。但是由于this question中提供的解决方案,找到了解决我遇到的类似问题的解决方案。 如果您可以将train_data转换为list,然后将其转换为numpy数组,那么将为您完成这项工作。
print(np.array(train_data.tolist()).shape)