#python #pandas
#питон #панды
Вопрос:
я работаю с набором данных. Один из столбцов — это возраст, но он указывается в днях, тип ‘int64’.
Мне нужно преобразовать этот столбец в годы. (Сделайте разделение на 365) Итак, я попытался изменить тип данных и все еще не работает, выдает ошибку «неподдерживаемые типы операндов для /: ‘str’ и ‘int'» или «недопустимый литерал для int() с основанием 10: ‘возраст'» и прочее.
Кто-нибудь может мне помочь?
Комментарии:
1. пожалуйста, покажите минимальный код воспроизведения
2. Вероятно , вам нужно привести свою
'age'
колонку отstr
доint
. Попробуйyour_dataframe['age'].astype(int) / 365
.
Ответ №1:
Эта ошибка в основном связана с несоответствием типа данных столбца. Возможно, столбец age также содержит некоторые значения строкового формата. Перед делением на 365 преобразуйте столбец age в числовой формат, используя функцию astype ниже :
df[‘имя столбца возраста’] = df[‘имя столбца возраста’].astype(с плавающей точкой)
Если приведенный выше код выдает ошибку, это означает, что где-то в столбцах есть некоторые значения строкового формата, которые нельзя преобразовать в числа.
После успешного выполнения приведенного выше кода вы можете разделить столбец на 365.
Комментарии:
1. Одна вещь. Как я могу удалить ‘.0’ из выходных данных?
2. вы можете попробовать использовать функцию округления или после разделения преобразовать тип обратно в int64