Как изменить float на int в Python Pandas? 💡🐍
Используйте метод astype() в библиотеке Pandas для преобразования столбца из типа float в int.
import pandas as pd
df['столбец'] = df['столбец'].astype(int)
Где df - ваш датафрейм, а 'столбец' - название столбца, который нужно преобразовать.
Детальный ответ
Как поменять float на int в Python Pandas
При работе с данными в библиотеке Pandas возникает необходимость изменить тип данных из float в int. В этой статье мы рассмотрим несколько способов выполнить данную операцию.
1. Использование метода astype()
Метод astype() позволяет изменить тип данных столбца в DataFrame на указанный. Для преобразования float в int, необходимо вызвать метод astype() и передать в него аргумент int.
import pandas as pd
# Создание DataFrame с числами с плавающей точкой
data = {'col1': [1.0, 2.0, 3.0, 4.0],
'col2': [5.0, 6.0, 7.0, 8.0]}
df = pd.DataFrame(data)
# Изменение типа данных столбца 'col1' на int
df['col1'] = df['col1'].astype(int)
print(df.dtypes)
В результате выполнения кода выше, столбец 'col1' будет иметь тип int. Выходной результат будет содержать информацию о типах данных столбцов, что позволит вам убедиться в изменении типа данных.
2. Использование функции floor()
Функция floor() библиотеки NumPy позволяет округлить числа с плавающей точкой вниз до ближайшего целого числа. Если вам нужно получить int значения без округления, вы можете использовать эту функцию совместно с методом apply() библиотеки Pandas.
import pandas as pd
import numpy as np
# Создание DataFrame с числами с плавающей точкой
data = {'col1': [1.5, 2.7, 3.9, 4.2],
'col2': [5.3, 6.8, 7.1, 8.6]}
df = pd.DataFrame(data)
# Использование функции floor() и метода apply() для преобразования в int
df['col1'] = df['col1'].apply(np.floor).astype(int)
print(df.dtypes)
В результате выполнения кода выше, столбец 'col1' будет содержать значения типа int. Использование функции floor() позволяет округлить значения вниз до ближайшего целого числа, а метод apply() применяет эту функцию ко всем элементам столбца.
3. Использование метода round()
Метод round() позволяет округлить числа с плавающей точкой до указанного количества знаков после запятой. Если вам необходимо получить целые значения без округления, вы можете использовать этот метод с аргументом decimals=0.
import pandas as pd
# Создание DataFrame с числами с плавающей точкой
data = {'col1': [1.3, 2.8, 3.5, 4.9],
'col2': [5.2, 6.4, 7.7, 8.1]}
df = pd.DataFrame(data)
# Преобразование значений столбца 'col1' в int с помощью метода round()
df['col1'] = df['col1'].round(decimals=0).astype(int)
print(df.dtypes)
После выполнения приведенного выше кода, столбец 'col1' будет содержать значения типа int. Метод round() округляет значения до ближайшего целого числа в указанном десятичном разряде.
Заключение
Теперь вы знаете несколько способов изменить тип данных из float в int в Pandas. Вы можете использовать метод astype() для преобразования типа данных столбца, функцию floor() в сочетании с методом apply() для получения int значений без округления или метод round() для округления чисел до ближайшего целого значения.
При использовании любого из этих способов убедитесь, что ваши данные могут быть безопасно преобразованы в int и нет потери значимости чисел.