Как преобразовать логические значения в целые значения в Pandas


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

df.column1 = df.column1.replace({ True : 1 , False : 0 })

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: преобразование логического значения в целое в Pandas

Предположим, у нас есть следующие Pandas DataFrame:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E', 'F', 'G'],
 'points': [18, 22, 19, 14, 14, 11, 20],
 'playoffs': [True, False, False, False, True, False, True]})

#view DataFrame
df

Мы можем использовать dtypes для быстрой проверки типа данных каждого столбца:

#check data type of each column
df.dtypes

team object
points int64
playoffs bool
dtype: object

Мы видим, что столбец playoffs имеет тип boolean .

Мы можем использовать следующий код, чтобы быстро преобразовать значения True/False в столбце «плей-офф» в целочисленные значения 1/0:

#convert 'playoffs' column to integer
df.playoffs = df.playoffs.replace({ True : 1 , False : 0 })

#view updated DataFrame
df

 team points playoffs
0 A 18 1
1 B 22 0
2 C 19 0
3 D 14 0
4 E 14 1
5 F 11 0
6 G 20 1

Каждое значение True было преобразовано в 1 , а каждое значение False было преобразовано в 0 .

Мы можем снова использовать dtypes, чтобы убедиться, что столбец «плей-офф» теперь является целым числом:

#check data type of each column
df.dtypes

team object
points int64
playoffs int64
dtype: object

Мы видим, что столбец play-off теперь имеет тип int64 .

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

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

Как преобразовать категориальную переменную в числовую в Pandas
Как преобразовать столбцы Pandas DataFrame в int
Как преобразовать DateTime в строку в Pandas