Чтобы объединить логические столбцы в pandas, вы можете использовать различные методы в зависимости от ваших конкретных требований. Вот несколько распространенных подходов с сопроводительными примерами кода:
- Логическое И: объединение двух логических столбцов с помощью логического оператора И (
&) вернет новый столбец, в котором каждый элемент имеет значениеTrue, только если оба соответствующих элемента в исходных столбцах —True.
import pandas as pd
df = pd.DataFrame({'A': [True, False, True],
'B': [True, False, False]})
df['C'] = df['A'] & df['B']
Результирующий кадр данных:
A B C
0 True True True
1 False False False
2 True False False
- Логическое ИЛИ: объединение двух логических столбцов с помощью оператора логического ИЛИ (
|) вернет новый столбец, в котором каждый элемент имеет значениеTrue, если хотя бы один из соответствующих элементов в исходных столбцах —True.
df['D'] = df['A'] | df['B']
Результирующий кадр данных:
A B C D
0 True True True True
1 False False False False
2 True False True True
- Логическое НЕ: если вы хотите объединить отрицание логического столбца, вы можете использовать оператор тильда (
~). Это инвертирует значения в столбце.
df['E'] = ~df['A']
Результирующий кадр данных:
A B C D E
0 True True True True False
1 False False False False True
2 True False False True False
- Использование методов
anyиall. Если у вас есть несколько логических столбцов и вы хотите объединить их на основе определенных условий, вы можете использоватьanyиливсеметоды по нужной оси.
df['F'] = df.any(axis=1) # Combines columns with logical OR
df['G'] = df.all(axis=1) # Combines columns with logical AND
Результирующий кадр данных:
A B C D E F G
0 True True True True False True True
1 False False False False True False False
2 True False False True False True False