Список списков смешанных типов в массиве numpyPython

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Список списков смешанных типов в массиве numpy

Сообщение Гость »


У меня есть данные, импортированные из csv, и они хранятся в списке списков как:

data=[['1', '1.013831', '1.713332', '1.327002', '3.674446', '19.995361', '09:44:24', '2.659884'], ['2 ', '1.013862', '1.713164', '1.326761', '3.662183', '19.996973', '09:49:27', '2.668791'], ['3', '1.013817', '1.712084', '1.32 6192 ', '3.658077', '19.997608', '09:54:27', '2.671786']] Я хочу получить массив numpy, чтобы я мог использовать правильное нарезку (мне не нужны pandas или что-то еще, просто старый добрый numpy массив с соответствующими типами данных, а не объект).

Итак, я попробовал очевидное:

arr=np.array(data,dtype='i4,f4,f4,f4,f4,f4,U8,f4') только чтобы получить:

ValueError: недопустимый литерал для int() с основанием 10: '1.013831' Это говорит о том, что numpy рассматривает строки как столбцы, а столбцы — как строки. Что делать? Я также попытался ввести вместо data list(map(tuple,data)), что выдает ошибку, что объект карты не может быть вызван, и я пробовал:

arr=np.asarray(tuple(map(tuple,data)),dtype='i4,f4,f4,f4,f4,f4,U8,f4') отдача

ValueError: не удалось назначить кортеж длиной 20 структуре с 8 полями. Обратите внимание, что исходное количество строк в моем случае — 20.

Итак, как мне получить данные из csv в массив numpy, где я хочу указать тип данных каждого столбца?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»