Як написати твердження в pandas (з прикладом)


Оператор case — це тип оператора, який циклічно перебирає умови та повертає значення, коли виконується перша умова.

Найпростіший спосіб реалізувати оператор case у Pandas DataFrame — це використовувати функцію NumPywhere() , яка використовує такий базовий синтаксис:

 df[' new_column '] = np. where (df[' col2 ']<9, 'value1',
                   n.p. where (df[' col2 ']<12, 'value2',
                   n.p. where (df[' col2 ']<15, 'value3', 'value4')))

Ця конкретна функція переглядає значення в стовпці під назвою col2 і повертає:

  • « value1 », якщо значення в col2 менше 9
  • « value2 », якщо значення в col2 менше 12
  • « value3 », якщо значення в col2 менше 15
  • value4 ”, якщо жодна з попередніх умов не виконується

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

Приклад: оператор case в Pandas

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

 import pandas as pd
import numpy as np

#createDataFrame
df = pd. DataFrame ({' player ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
                   ' points ': [6, 8, 9, 9, 12, 14, 15, 17, 19, 22]})

#view DataFrame
df

	player points
0 1 6
1 2 8
2 3 9
3 4 9
4 5 12
5 6 14
6 7 15
7 8 17
8 9 19
9 10 22

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

 #add 'class' column using case-statement logic
df[' class '] = np. where (df[' points ']<9, 'Bad',
              n.p. where (df[' points ']<12, 'OK',
              n.p. where (df[' points ']<15, 'Good', 'Great')))

#view updated DataFrame
df

	player points class
0 1 6 Bad
1 2 8 Bad
2 3 9 OK
3 4 9 OK
4 5 12 Good
5 6 14 Good
6 7 15 Great
7 8 17 Great
8 9 19 Great
9 10 22 Great

Інструкція case переглянула значення в стовпці балів і повернула:

  • « Погано », якщо значення в колонці балів менше 9
  • « ОК », якщо значення в колонці балів менше 12
  • « Добре », якщо значення в колонці балів було менше 15
  • « Чудово », якщо жодна з попередніх умов не виконується

Примітка . Ви можете знайти повну документацію для функції NumPywhere() тут .

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

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

Як створити новий стовпець на основі умови в Pandas
Як використовувати функцію NumPy Where() із кількома умовами

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

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