Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



20.12.2018

Większa moc

QNAP Mustang-200
20.12.2018

Nowa era Wi-Fi

NETGEAR Nighthawk AX8
20.12.2018

Szybkie skanowanie

Brother ADS-1700W i ADS-1200
06.12.2018

Niższe moce

UPS Eaton 9SX
03.12.2018

Monitory dla MŚP

AOC E1
29.11.2018

Wykrycie szkodliwego...

Sophos Intercept X Advanced
27.11.2018

Automatyzacja zabezpieczeń

Red Hat Ansible Automation
23.11.2018

Nieograniczona skalowalność

SUSE Enterprise Storage 5.5
20.11.2018

Dwa procesory Threadripper

AMD Ryzen Threadripper 2970WX i 2920X

Python, wizualizacja danych. Heatmapy w bibliotekach Seaborn

Data publikacji: 20-12-2018 Autor: Grzegorz Kubera

W kolejnej części cyklu tworzymy heatmapy, czyli mapy cieplne, z wykorzystaniem bibliotek Seaborn dostępnych dla języka Python. Omawiamy dwa rodzaje map oraz sposób konwertowania zestawów danych na macierze, co jest niezbędne do tego typu wizualizacji danych.

 

  total_bill tip sex smoker day time size
0 16.99 1.01 Female No Sun Dinner 2
1 10.34 1.66 Male No Sun Dinner 3
2 21.01 3.50 Male No Sun Dinner 3
3 23.68 3.31 Male No Sun Dinner 2
4 24.59 3.61 Female No Sun Dinner 4

 

Następnie sprawdzamy jeszcze dane z drugiej tabeli. Wpisujemy:

flights.head()

Dostępne powinny być następujące dane:
   

  year month passengers
0 1949 January 112
 
1 1949 February 118
2 1949 March 132
3 1949 April 129
4 1949 May 121



Zestaw danych z napiwkami znamy już z wcześniejszej części kursu, natomiast drugi zestaw z przelotami został zaimportowany po raz pierwszy. Jest to zestaw danych pokazujący liczbę pasażerów (passengers), którzy odbyli lot samolotem w danym miesiącu (month) i roku (year).

Rozpoczynamy przygotowanie heatmapy, czyli rodzaju wizualizacji danych, w której liczby prezentowane są za pomocą kolorów na tzw. mapie cieplnej. Każdy element tabeli (macierzy z danymi) przybiera postać kolorowego kształtu (kwadratu, koła, kształtu nieregularnego czy piksela), którego kolor odpowiada określonej wartości.

> TWORZENIE MAP CIEPLNYCH

Aby heatmapa działała poprawnie, dane należy przygotować w formie macierzy. Najkrócej mówiąc, chodzi o to, aby nazwa indeksu i nazwa kolumny pasowały do siebie w taki sposób, że wartości komórek faktycznie wskazują na element, który odnosi się do obu tych nazw. Zobrazujemy to na przykładzie, używając zestawu danych tips, gdzie mamy zmienną total_bill, a tuż pod nią w komórce wartość 16,99 dolara. Wiersz znajdujący się obok – z wartością 0 – nie jest jednak zmienną. Teraz aby przygotować dane w formie macierzy, potrzebujemy zmiennych zarówno w kolumnach, jak i wierszach. Jest kilka sposobów na przygotowanie takiej macierzy danych. Pierwszym, jaki poznamy, jest korelacja danych. Wpisujemy komendę:

tips.corr()

Uzyskujemy efekt:

 

  total_bill tip size
total_bill 1.000000 0.675734 0.598315
tip 0.675734 1.000000 0.489299
size 0.598315 0.489299 1.000000

 

Jak widać, teraz zarówno kolumna, jak i nazwa indeksu mają zmienną o tej samej nazwie i wskazują pasującą do siebie komórkę. To właśnie forma matrycowa – macierz. Aby wywołać heatmapę, musimy opierać się właśnie na tak przygotowanych danych. Przygotowaną macierz możemy zapisać, wpisując:

 

tc = tips.corr()

Teraz można wywołać już pierwszą mapę cieplną. W tym celu wprowadzamy polecenie:

sns.heatmap(tc)

Mapa cieplna będzie wyglądać, jak pokazano na rys. 1. Jak widać, mamy tutaj wartości pokolorowane na podstawie skali gradientowej. Jeśli porównamy heatmapę do danych z tabeli tc, szybko zrozumiemy sposób prezentowania danych. Heatmapa tworzy odpowiednią skalę i obrazuje ją kolorami, a następnie prezentuje dane w postaci kolorowych kwadratów, przez co łatwo jest dostrzec wszelkie korelacje.

 

[...]

 

Założyciel firmy doradczo-technologicznej, pełnił funkcję redaktora naczelnego w magazynach i serwisach informacyjnych z branży ICT. Dziennikarz z ponad 12-letnim doświadczeniem i autor książek nt. start-upów i przedsiębiorczości. 

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2013 Presscom / Miesięcznik "IT Professional"