К концу этого руководства вы поймете, как использовать функцию astype() в Pandas. Эта функция позволяет привести объект к определенному типу данных.
Синтаксис функции
Синтаксис функции показан ниже:
DataFrame.astype(dtype, copy=True, errors=‘raise’)
Параметры функции такие, как показано:
- dtype — указывает целевой тип данных, к которому приводится объект Pandas. Вы также можете предоставить словарь с типом данных каждого целевого столбца.
- copy — указывает, выполняется ли операция на месте, т. е. затрагивает исходный DataFrame или создает копию.
- errors — устанавливает для ошибок значение «поднять» или «игнорировать».
Return Value
Функция возвращает DataFrame с указанным объектом, преобразованным в целевой тип данных.
Пример
# import pandas
import pandas as pd
df = pd.DataFrame({
‘col1’: [10,20,30,40,50],
‘col2’: [60,70,80,90,100],
‘col3’: [110,120,130,140,150]},
index=[1,2,3,4,5]
)
df
Преобразовать целое в число с плавающей запятой
Чтобы преобразовать «col1» в значения с плавающей запятой, мы можем сделать:
df.col1.astype(‘float64’, copy=True)
Приведенный выше код должен преобразовать ’col1′ в числа с плавающей запятой, как показано в выводе ниже:
Преобразование в несколько типов
Мы также можем преобразовать несколько столбцов в разные типы данных. Например, мы конвертируем «col1» в float64 и «col2» в строку в приведенном ниже коде.
print(f«before: {df.dtypes}\n«)
df = df.astype({
‘col1’: ‘float64’,
‘col2’: ‘string’
})
print(f«after: {df.dtypes}»)
В приведенном выше коде мы передаем столбец и целевой тип данных как словарь.
В результате получаются следующие типы:
Преобразовать DataFrame в строку
Чтобы преобразовать весь DataFrame в строковый тип, мы можем сделать следующее:
df.applymap(str)
Вышеприведенное должно привести весь DataFrame к строковым типам.
Заключение
В этой статье мы рассмотрели, как преобразовать столбец Pandas из одного типа данных в другой. Мы также рассмотрели, как преобразовать весь DataFrame в строковый тип.