Вы можете использовать следующий базовый синтаксис для преобразования столбца логических значений в столбец целочисленных значений в 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