Pandy: jak zastosować formatowanie warunkowe do komórek


Za pomocą funkcji df.style.applymap() można zastosować formatowanie warunkowe do komórek w ramce DataFrame pandy.

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

Przykład: Zastosuj formatowanie warunkowe do komórek w Pandach

Załóżmy, że mamy następującą ramkę danych pand, która zawiera informacje o różnych koszykarzach:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' points ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [4, 5, 5, 4, 9, 12, 11, 8],
                   ' rebounds ': [3, 9, 12, 4, 4, 9, 8, 2]})

#view DataFrame
print (df)

   points assists rebounds
0 18 4 3
1 22 5 9
2 19 5 12
3 14 4 4
4 14 9 4
5 11 12 9
6 20 11 8
7 28 8 2

Możemy użyć poniższego kodu, aby zastosować jasnozielone tło do każdej komórki w ramce danych, która ma wartość mniejszą niż 10:

 #define function for conditional formatting
def cond_formatting (x):
    if x < 10 :
        return ' background-color: lightgreen '
    else :
        return None
    
#display DataFrame with conditional formatting applied    
df. style . applymap (cond_formatting)

formatowanie warunkowe pandy

Należy zauważyć, że każda komórka w ramce danych o wartości mniejszej niż 10 ma teraz jasnozielone tło.

Uwaga : jeśli formatowanie warunkowe nie działa w notatniku Jupyter, upewnij się, że najpierw uruchomiłeś polecenie %pip install Jinja2 .

Możemy również użyć argumentów koloru i grubości czcionki, aby zastosować bardziej złożone formatowanie warunkowe.

Poniższy przykład pokazuje, jak to zrobić:

 #define function for conditional formatting
def cond_formatting (x):
    if x < 10 :
        return ' background-color: lightgreen; color:red; font-weight:bold '
    elif x < 15 :
        return ' background-color:yellow '
    else :
        return None
    
#display DataFrame with conditional formatting applied    
df. style . applymap (cond_formatting) 

pandy formatowanie warunkowe z wieloma warunkami

Oto jak działała funkcja formatowania warunkowego w tym przykładzie:

  • Dla wartości mniejszych niż 10 użyj jasnozielonego tła z pogrubioną czerwoną czcionką
  • Dla wartości ≥ 10 , ale mniejszych niż 15 , użyj żółtego tła
  • W przypadku wartości większych niż 15 nie należy stosować żadnego formatowania warunkowego

Możesz używać dowolnej liczby funkcji if , elif i else , aby zastosować dowolną liczbę reguł formatowania warunkowego do komórek w ramce DataFrame.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje na pandach:

Jak dodać tytuł tabeli do Pandas DataFrame
Jak wyświetlić wszystkie wiersze w ramce danych Pandas
Jak wyświetlić wszystkie kolumny ramki danych Pandas

Dodaj komentarz

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