Я новичок в numpy и пытаюсь сгенерировать массив из файла CSV. Мне сообщили, что метод .genfromtxt хорошо работает при генерации массива и автоматическом обнаружении и присвоении dtypes. Формула, казалось бы, делала это без fl aws, пока я не проверил форму массива.
import numpy as np
taxi = np.genfromtxt("nyc_taxis.csv", delimiter=",", dtype = None, names = True)
taxi.shape
[out]: (89560,)
Мне кажется, это показывает, что мой набор данных теперь является одномерным массивом. Урок, над которым я работаю в классе, имеет конечный результат taxi.shape as (89560,15), но они использовали длинный, утомительный для l oop, а затем преобразовали определенные столбцы в float. Но я хочу попробовать учиться более эффективным способом.
Первые несколько строк массива:
array([(2016, 1, 1, 5, 0, 2, 4, 21. , 2037, 52. , 0.8, 5.54, 11.65, 69.99, 1),
(2016, 1, 1, 5, 0, 2, 1, 16.29, 1520, 45. , 1.3, 0. , 8. , 54.3 , 1),
(2016, 1, 1, 5, 0, 2, 6, 12.7 , 1462, 36.5, 1.3, 0. , 0. , 37.8 , 2),
(2016, 1, 1, 5, 0, 2, 6, 8.7 , 1210, 26. , 1.3, 0. , 5.46, 32.76, 1),
(2016, 1, 1, 5, 0, 2, 6, 5.56, 759, 17.5, 1.3, 0. , 0. , 18.8 , 2),
(2016, 1, 1, 5, 0, 4, 2, 21.45, 2004, 52. , 0.8, 0. , 52.8 , 105.6 , 1),
(2016, 1, 1, 5, 0, 2, 6, 8.45, 927, 24.5, 1.3, 0. , 6.45, 32.25, 1),
(2016, 1, 1, 5, 0, 2, 6, 7.3 , 731, 21.5, 1.3, 0. , 0. , 22.8 , 2),
(2016, 1, 1, 5, 0, 2, 5, 36.3 , 2562, 109.5, 0.8, 11.08, 10. , 131.38, 1),
(2016, 1, 1, 5, 0, 6, 2, 12.46, 1351, 36. , 1.3, 0. , 0. , 37.3 , 2)],
. Итак, из результатов видно, что каждая строка имеет 15 запятых (то есть 15 столбцов), но форма говорит мне, что она только 89560 строк и без столбцов. Я читаю это неправильно? Есть ли способ, которым я могу преобразовать форму моего набора данных массива такси, чтобы отразить истинное количество столбцов (то есть 15), как они есть в файле CSV?
Любая помощь приветствуется