Метод astype
Метод astype применяется к DataFrame
и возвращает новую таблицу с изменёнными типами данных
в указанных столбцах. Первым параметром передаётся словарь,
где ключ - имя столбца, а значение - желаемый тип данных,
либо один тип для применения ко всей таблице.
Синтаксис
df.astype(dtype, copy=True, errors="raise")
Параметр dtype определяет новый тип данных
для столбцов. Параметр copy управляет созданием
копии данных. Параметр errors задаёт поведение
при ошибках преобразования.
Пример
Давайте преобразуем столбец 'a' в тип float:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 20, 30, 40, 50]
})
res = df.astype({'a': float})
print(res)
Результат выполнения кода:
a b
0 1.0 10
1 2.0 20
2 3.0 30
3 4.0 40
4 5.0 50
Пример
Преобразуем все столбцы к строковому типу:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 20, 30, 40, 50]
})
res = df.astype(str)
print(res)
Результат выполнения кода:
a b
0 1 10
1 2 20
2 3 30
3 4 40
4 5 50
Пример
Преобразуем столбец 'a' в int, а столбец 'b' в float:
import pandas as pd
df = pd.DataFrame({
'a': [1.0, 2.0, 3.0, 4.0, 5.0],
'b': [10.5, 20.5, 30.5, 40.5, 50.5]
})
res = df.astype({'a': int, 'b': float})
print(res)
Результат выполнения кода:
a b
0 1 10.5
1 2 20.5
2 3 30.5
3 4 40.5
4 5 50.5
Пример
Используем параметр errors для игнорирования ошибок
преобразования:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, '3', 4, 5],
'b': [10, 20, 30, 40, 50]
})
res = df.astype({'a': int}, errors="ignore")
print(res)
Результат выполнения кода:
a b
0 1 10
1 2 20
2 3 30
3 4 40
4 5 50
Смотрите также
-
метод
convert_dtypes,
который автоматически определяет лучшие типы данных -
метод
select_dtypes,
который фильтрует столбцы по типу данных -
метод
infer_objects,
который пытается автоматически вывести типы данных -
атрибут
dtypes,
который показывает текущие типы данных столбцов