Як перетворити логічне значення на рядок у pandas dataframe


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

 df[' my_bool_column '] = df[' my_bool_column ']. replace ({ True : ' True ', False : ' False '})

У цьому конкретному прикладі кожне значення True замінюється рядком “True”, а кожне значення False – рядком “False” у стовпці під назвою my_bool_column .

У наступному прикладі показано, як використовувати цей синтаксис на практиці.

Приклад: перетворення логічного значення на рядок у Pandas

Припустімо, що у нас є наступні pandas DataFrame:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G'],
                   ' points ': [18,20, 25, 40, 34, 32, 19],
                   ' all_star ': [True, False, True, True, True, False, False],
                   ' starter ': [False, True, True, True, False, False, False]})

#view DataFrame
print (df)

  team points all_star starter
0 A 18 True False
1 B 20 False True
2 C 25 True True
3 D 40 True True
4 E 34 True False
5 F 32 False False
6 G 19 False False

Ми можемо використовувати функцію dtypes, щоб перевірити тип даних кожного стовпця в DataFrame:

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

team object
int64 dots
all_star bool
starter bool
dtype:object

З результату ми бачимо, що стовпці all_star і starter є логічними.

Ми можемо використати такий синтаксис, щоб перетворити стовпець all_star на рядковий стовпець:

 #convert Boolean values in all_star column to strings
df[' all_star '] = df[' all_star ']. replace ({ True : ' True ', False : ' False '})

#view updated DataFrame
print (df)

  team points all_star starter
0 A 18 True False
1 B 20 False True
2 C 25 True True
3 D 40 True True
4 E 34 True False
5 F 32 False False
6 G 19 False False

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

team object
int64 dots
all_star object
starter bool
dtype:object

З результату ми бачимо, що стовпець all_star було перетворено на рядковий стовпець.

Щоб перетворити стовпці all_star і starter з логічних значень на рядки, ми можемо використати такий синтаксис:

 #convert Boolean values in all_star and starter columns to strings
df[[' all_star ', ' starter ']] = df[[' all_star ', ' starter ']]. replace ({ True : ' True ', False : ' False '})

#view updated DataFrame
print (df)

  team points all_star starter
0 A 18 True False
1 B 20 False True
2 C 25 True True
3 D 40 True True
4 E 34 True False
5 F 32 False False
6 G 19 False False

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

team object
int64 dots
all_star object
starter object
dtype:object

З результату ми бачимо, що обидва логічні стовпці були перетворені на рядки.

Примітка. Повну документацію щодо функції pandas replace() можна знайти тут .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в pandas:

Pandas: виберіть рядки з DataFrame за допомогою логічного ряду
Pandas: як створити логічний стовпець на основі умови
Pandas: Як перетворити логічні значення в цілі значення

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *