Pandas to_numeric не является целочисленным столбцом - PullRequest
0 голосов
/ 26 октября 2018

У меня есть датафрейм со столбцом с dtype('int64').Значения в столбце варьируются от 0 до 10.Фрейм данных имеет 770 тыс. Строк и 56 столбцов разных типов.Когда я запускаю код ниже, я получаю dtype('int64').Я бы подумал, что результат был бы как минимум понижен до int32 или int16.Вот воспроизводимый пример.

import pandas as pd

df = pd.DataFrame([x for x in range(10)]*77000, columns=['recommendation'])
df.dtypes
df.recommendation.apply(lambda x: pd.to_numeric(x, downcast='integer')).dtypes

1 Ответ

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

Метод apply работает по ячейкам, поэтому он не может понять, что весь столбец может быть уменьшен.Вам нужно позвонить to_numeric на весь столбец, как указано в комментарии Бена:

pd.to_numeric(df.recommendation,downcast='integer')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...