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)
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)
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