python - 将 numpy.void 转换为 numpy.ndarray

标签 python arrays numpy

我已经使用 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/

相关文章:

python - 是否有通用的方法来测试 GIL 的存在?

javascript - ng-repeat 非数组/对象/以相同的方式处理数组和非数组

numpy - f numpy 数组的字符串格式

python - 属性错误: module 'tensorflow.python.keras.backend' has no attribute 'get_graph'

python - Tensorflow:Sigmoid交叉熵损失不会强制网络输出为0或1

PHP MVC 在发布时添加到数组

c++ - boost 动态数组的序列化

用于读取大型 CSV 文件的 Python 生成器

python - 使用 numpy ufuncs 与内置运算符

python - 从 2 元组列表创建字典