Jak napisać opis przypadku w pandach (z przykładem)


Instrukcja case to typ instrukcji, która cyklicznie przechodzi przez warunki i zwraca wartość, gdy pierwszy warunek zostanie spełniony.

Najprostszym sposobem zaimplementowania instrukcji case w ramce danych Pandas jest użycie funkcji NumPywhere() , która wykorzystuje następującą podstawową składnię:

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

Ta konkretna funkcja sprawdza wartość w kolumnie o nazwie col2 i zwraca:

  • wartość1 ”, jeśli wartość w kolumnie2 jest mniejsza niż 9
  • wartość2 ”, jeśli wartość w kolumnie2 jest mniejsza niż 12
  • wartość3 ”, jeśli wartość w kolumnie2 jest mniejsza niż 15
  • wartość4 ”, jeśli żaden z poprzednich warunków nie jest spełniony

Poniższy przykład pokazuje, jak w praktyce wykorzystać tę funkcję.

Przykład: opis przypadku w Pandach

Załóżmy, że mamy następującą ramkę DataFrame pand:

 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

Możemy użyć poniższej składni, aby napisać instrukcję case, która tworzy nową kolumnę o nazwie class , której wartości są określone przez wartości w kolumnie punktów :

 #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

Instrukcja case sprawdziła wartość w kolumnie punktów i zwróciła:

  • Zły ”, jeśli wartość w kolumnie punktów była mniejsza niż 9
  • OK ”, jeśli wartość w kolumnie punktów była mniejsza niż 12
  • Dobrze ”, jeśli wartość w kolumnie punktów była mniejsza niż 15
  • Świetnie ”, jeśli żaden z powyższych warunków nie jest spełniony

Uwaga : pełną dokumentację funkcji NumPywhere() można znaleźć tutaj .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w Pandach:

Jak utworzyć nową kolumnę na podstawie warunku w Pandach
Jak używać funkcji NumPy Where() z wieloma warunkami

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *