Преобразование объекта в int для выполнения агрегации - PullRequest
0 голосов
/ 12 июля 2020

У меня есть фрейм данных под названием «modified_df». У меня есть переменная, которую я пытаюсь агрегировать, «возраст» (пытаюсь вычислить такие вещи, как среднее значение). В настоящее время тип данных отображается как «объект», поэтому я не могу его агрегировать. Я очистил его, и все кажется целым числом, но есть вероятность, что я что-то пропустил.

Я пробовал запустить этот код

modified_df['Age'] = modified_df['Age'].astype('int')

Я прикрепил сообщение об ошибке как выглядит "Возраст"

enter image description here введите описание изображения здесь

Ответы [ 2 ]

2 голосов
/ 12 июля 2020

Вы можете попробовать две разные вещи.

Вариант 1: (вместо этого преобразуется в число с плавающей запятой. Это может не сработать, но будет исключено, если у вас есть возраст, для которого есть значения, которые не могут быть int, но может быть числом с плавающей точкой.)

modified_df['Age'] = modified_df['Age'].astype('float')

Вариант 2: (игнорирует все, что вызывает ошибку, и возвращает исходное значение)

modified_df['Age'] = modified_df['Age'].astype('int',errors = 'ignore')
2 голосов
/ 12 июля 2020

Очевидно, что есть некоторые значения в столбце «Возраст», которые не преобразуются в int, как указано выше. Попробуйте использовать value_counts() для просмотра столбца или отбросьте столбцы, отличные от int. Попробуйте сделать:

modified_df['Age'] = modified_df['Age'].astype('int',errors='ignore')

См. Документацию astype() здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...