Как изменить тип столбца в pandas (с примерами)


Столбцы DataFrame pandas могут принимать один из следующих типов:

  • объект (строки)
  • int64 (целые числа)
  • float64 (числовые значения с десятичными знаками)
  • bool (истинные или ложные значения)
  • datetime64 (даты и время)

Самый простой способ преобразовать столбец из одного типа данных в другой — использовать функцию astype() .

Вы можете использовать следующие методы с функцией astype() для преобразования столбцов из одного типа данных в другой:

Способ 1: преобразовать столбец в другой тип данных

 df[' col1 '] = df[' col1 ']. astype (' int64 ')

Способ 2. Преобразование нескольких столбцов в другой тип данных

 df[[' col1 ', ' col2 ']] = df[[' col1 ', ' col2 ']]. astype (' int64 ')

Способ 3: преобразовать все столбцы в другой тип данных

 df = df. astype (' int64 ')

В следующих примерах показано, как использовать каждый метод на практике со следующим DataFrame pandas:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' ID ': ['1', '2', '3', '4', '5', '6'],
                   ' tenure ': [12.443, 15.8, 16.009, 5.06, 11.075, 12.9546],
                   ' sales ': [5, 7, 7, 9, 12, 9]})

#view DataFrame
print (df)

  ID tenure sales
0 1 12.4430 5
1 2 15.8000 7
2 3 16.0090 7
3 4 5.0600 9
4 5 11.0750 12
5 6 12.9546 9

#view data type of each column
print ( df.dtypes )

object ID
tenure float64
dirty int64
dtype:object

Пример 1. Преобразование столбца в другой тип данных

Следующий код показывает, как использовать функцию astype() для преобразования столбца владения из числа с плавающей запятой в целое число:

 #convert tenure column to int64
df[' tenure '] = df[' tenure ']. astype (' int64 ')

#view updated data type for each column
print ( df.dtypes )

object ID
tenure int64
dirty int64
dtype:object

Обратите внимание, что столбец владения был преобразован в int64, а все остальные столбцы сохранили исходные типы данных.

Пример 2. Преобразование нескольких столбцов в другой тип данных

В следующем коде показано, как использовать функцию astype() для преобразования столбцов ID и владения в целые числа:

 #convert ID and tenure columns to int64
df[[' ID ', ' tenure ']] = df[[' ID ', ' tenure ']]. astype (' int64 ')

#view updated data type for each column
print ( df.dtypes )

ID int64
tenure int64
dirty int64
dtype:object

Обратите внимание, что столбцы ID и владения были преобразованы в int64.

Пример 3. Преобразование всех столбцов в другой тип данных

В следующем коде показано, как использовать функцию astype() для преобразования всех столбцов в DataFrame в целочисленный тип данных:

 #convert all columns to int64
df = df. astype (' int64 ')

#view updated data type for each column
print ( df.dtypes )

ID int64
tenure int64
dirty int64
dtype:object

Обратите внимание, что все столбцы были преобразованы в int64.

Примечание . Полную документацию по функции pandas astype() можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные преобразования в pandas:

Как преобразовать столбцы Pandas DataFrame в строки
Как преобразовать временную метку в дату/время в Pandas
Как преобразовать DateTime в дату в Pandas
Как преобразовать строки в числа с плавающей запятой в Pandas

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *