Конвертировать numpy.void в numpy.ndarray - PullRequest
0 голосов
/ 30 октября 2018

Я загрузил файл .csv в python с 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, должен быть numpy.array.

Как я могу преобразовать все значения из train_data в массивы?

Эффективность также несколько важна, потому что я работаю с большим количеством данных.

Еще немного кода

>>> 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'>

1 Ответ

0 голосов
/ 30 октября 2018

Используйте метод numpy.asarray(), который преобразует входные данные в массив

array=numpy.asarray(train_data[0])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...