Ndarray из Numpy.genfromtxt - это одномерный массив одномерных массивов, а не 2D - PullRequest
0 голосов
/ 26 апреля 2019

* Изменен на меньший пример, потому что StackEx не может отображать длинные примеры 281.

Я использовал np.genfromtxt для загрузки 8997 строк с 18 столбцами в ndarray, но он создал одномерный массив с 8997 строками.

data [0] печатает первую строку

data [0] [0] первый элемент

data [0,0] печатает следующую ошибку:

Traceback (последний вызов был последним): файл "", строка 1, в данных [0,0] IndexError: слишком много индексов для массива

Можно ли преобразовать его в 2D-массив?Почему genfromtxt не создает 2D-массив?

Если это помогает,

len (data [0]) = 18, но data [0] .shape возвращает "()".

Итак, genfrontxt обнаруживает каждый элемент в строке, но сохраняет их как одну строку.Существует ли элегантный способ преобразования этого 1D-массива в 2D-массив размером 8997 x 18?

Редактирует для справки:

Команды загрузки:

data = np.genfromtxt (filepath.replace ('. dfn', '.dat'), dtype = None, names = csvnames)

data = np.genfromtxt (filepath.replace ('. dfn', '.dat'),dtype = None, names = csvnames, delimiter = widths)

Я использовал оба и получил один и тот же ndarray.Я кормлю в списке имен столбцов.Использование фиксированной ширины не изменило результат.Я позволил функции определить типы данных, что и делает нормально.

Свойства данных

data.shape (8997,)

Первая строка файла данных - (первый столбецстроковое значение DATA)

DATA  190010.0  1284   4 190010 1783000 20170122   0 131.000035 -31.255325 119016.47 6535194.03  58.55  62.06  987.22  22.61  55076.69  10476.91   8155.08 57238.0957 57238.6536 58639.18 57795.78

Первая строка из ndarray -> data [0]

(b'DATA', 190010., 1284, 4, 190010, 1783000, 20170122,   0, 131.000035, -31.255325, 119016.47, 6535194.03, 58.55, 62.06, 987.22, 22.61, 17830.  , 133.71)

data.type

[('COMM', 'S4'), ('FLTLINE', '<f8'), ('Project', '<i4'), ('Flight', '<i4'), ('Line', '<i4'), ('Fid', '<i4'), ('YYYYMMDD', '<i4'), ('Bearing', '<i4'), ('Long', '<f8'), ('LATITUDE', '<f8'), ('EAST', '<f8'), ('NORTH', '<f8'), ('RadAlt', '<f8'), ('LasAlt', '<f8'), ('Press', '<f8'), ('Temp', '<f8'), ('GPSTime', '<f8'), ('GPSHt', '<f8')]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...