Элементы в массиве меняют типы данных с плавающей на строковую - PullRequest
0 голосов
/ 18 октября 2018

Когда я добавляю элементы в список следующего формата и типа:

data.append ([float, float, string])

Затем складываетсясписок, используя:

data = np.hstack (data)

И затем, наконец, измените массив и транспонируйте, используя:

data= np.reshape (data, (- 1,3)). T

Все элементы массива в data заменены на строки.Я хочу (и ожидал), что первый и второй столбцы в data имеют тип float и третий тип string, но вместо этого все они имеют тип string.[Интересно, что если я не добавлю строковые элементы к data и не укажу форму новостей (-1,2), оба столбца будут с плавающей точкой.] Я не могу понять это.Любая помощь будет оценена.

1 Ответ

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

Из-за сочетания чисел и строк np.array будет использовать общий формат: строка.Решением здесь является преобразование data в тип object , который поддерживает смешанные типы элементов.Это выполняется с помощью:

data = np.array (data, dtype = object)

до hstack.

...