Изменение значений столбца в Pandas

#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