🐼Kак использовать case when then в pandas для условной обработки данных?
В pandas есть функция np.select()
, которая может использоваться для эмуляции case when then
оператора из SQL.
import pandas as pd
import numpy as np
# Создаем DataFrame
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
'B': ['apple', 'banana', 'apple', 'banana', 'banana']})
# Создаем условия для выбора значений в столбце 'C'
conditions = [df['A'] % 2 == 0, df['B'] == 'banana']
choices = ['Even', 'Banana']
# Применяем условия и выбираем значения в столбце 'C'
df['C'] = np.select(conditions, choices, default='Other')
# Выводим DataFrame
print(df)
Детальный ответ
Разобрание выражения "pandas case when then"
Выражение "pandas case when then" относится к использованию условных выражений в библиотеке pandas для выполнения обработки данных на основе заданных условий. В этой статье мы изучим, как использовать эту функциональность в pandas и предоставим примеры кода.
Синтаксис
В pandas доступна функция np.where(), которая является аналогом выражения "case when then" в SQL.
import pandas as pd
# Создаем DataFrame
data = {'Value': [5, 10, 15, 20]}
df = pd.DataFrame(data)
# Применяем np.where() для создания нового столбца 'Category'
df['Category'] = np.where(df['Value'] >= 10, 'Высокое', 'Низкое')
print(df)
В этом примере мы создаем новый столбец 'Category', основываясь на условии, что значение в столбце 'Value' больше или равно 10. Если условие выполняется, то в 'Category' записывается значение 'Высокое', в противном случае - 'Низкое'.
Другие примеры
Давайте рассмотрим другие примеры использования выражения "pandas case when then".
Пример 1: Обновление значения столбца на основе условия
# Обновление значения столбца 'Status' на основе условия
df.loc[df['Value'] >= 10, 'Status'] = 'Успешно'
print(df)
В этом примере мы обновляем значение столбца 'Status' на 'Успешно' для всех строк, где значение столбца 'Value' больше или равно 10.
Пример 2: Создание нового столбца на основе нескольких условий
# Создание нового столбца 'Result' на основе нескольких условий
df['Result'] = np.where((df['Value'] >= 10) & (df['Status'] == 'Успешно'), 'Высокий результат', 'Низкий результат')
print(df)
В этом примере мы создаем новый столбец 'Result' на основе двух условий: значение столбца 'Value' должно быть больше или равно 10, а значение столбца 'Status' должно быть равно 'Успешно'.
Заключение
Использование выражения "pandas case when then" позволяет нам легко выполнять обработку данных на основе заданных условий. Мы рассмотрели основные примеры использования этой функциональности в библиотеке pandas и надеемся, что эта статья помогла вам разобраться в этой теме.