将 numpy.void 转换为 numpy.ndarray

我在 python 中加载了一个 .csv 文件numpy.genfromtxt。现在它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)

所以这里有类型的数组 (9, 0, 0)numpy.void应该是 a 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'>


湖上湖
浏览 951回答 2
2回答

30秒到达战场

使用numpy.asarray()将输入转换为数组的方法array=numpy.asarray(train_data[0])

至尊宝的传说

我知道现在回答这个为时已晚。但是由于这个问题中提供的解决方案,我找到了一个类似问题的解决方案。如果您可以将 train_data 转换为列表,然后将其转换为 numpy 数组,那么就可以为您完成这项工作。print(np.array(train_data.tolist()).shape)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python