Wizualizacja danych w Pythonie dla początkujących

Opublikowany: 2021-06-07

Wizualizacja danych odgrywa istotną rolę w analizowaniu danych oraz sprawianiu, że dane są jaśniejsze i łatwiejsze do zrozumienia dla wszystkich. Wizualna reprezentacja informacji za pomocą narzędzi do wizualizacji danych, takich jak Python, pomaga zidentyfikować trendy, wzorce i korelacje, których w innym przypadku można by nie odkryć, lub jak mówi amerykański informatyk Ben Schneiderman: „Wizualizacje dają odpowiedzi na pytania, których nie znałeś miał''.

W tym blogu omówimy, czym jest wizualizacja danych w Pythonie, jak wizualizować dane w Pythonie za pomocą bibliotek wizualizacji Pythona, a także przedstawimy kilka przykładów wizualizacji w Pythonie, które pomogą Ci lepiej zrozumieć moc wizualizacji danych i jak Python może Ci pomóc w wykorzystując go.

Co to jest wizualizacja w Pythonie?

Python to język programowania ogólnego przeznaczenia, który zawiera struktury danych wysokiego poziomu, dynamiczne wiązania typowe i dynamiczne oraz wiele innych funkcji, które czynią go wartościowym i korzystnym dla tworzenia złożonych aplikacji.

Wraz ze wzrostem znaczenia wizualizacji danych w ciągu ostatnich dwóch dekad Python stał się czymś więcej niż tylko językiem programowania. Stał się najpopularniejszym językiem programowania do nauki o danych, oferując programistom niezliczone opcje wizualizacji danych i uzyskiwania wglądu, których same surowe dane nie mogą im zapewnić.

Po prostu użycie Pythona do tworzenia wizualizacji danych pomoże użytkownikom uzyskać wgląd w dane w milisekundach w porównaniu z sekundami, a nawet minutami, próbując przeanalizować i zrozumieć duże zestawy danych niesformatowanych danych reprezentowanych w formatach tabelarycznych. Co więcej, korzystanie z narzędzi do wizualizacji danych w Pythonie umożliwia dodawanie kolorów, linii trendów, znaczników, adnotacji i wielu innych wizualnych wskazówek, które pomagają widzowi wizualizacji natychmiast zrozumieć historię swoich danych.

Wypróbuj procę

Biblioteki wizualizacji Pythona

Istnieje wiele bibliotek wizualizacji typu open source i komercyjnych dla Pythona, które oferują wykresy biznesowe, naukowe, finansowe, mapy geoprzestrzenne i wiele innych. Jako programista możesz łatwo zaimportować te biblioteki do swoich projektów Pythona i na podstawie typu danych, które posiadasz, w kilku linijkach kodu możesz renderować wizualizację.

Oto 5 najpopularniejszych bibliotek wizualizacji danych w Pythonie:

  • Matplotlib – Matplotlib to pierwsza biblioteka wizualizacji danych Pythona i jest podstawową biblioteką, na której zbudowano każdą inną bibliotekę wizualizacji danych w Pythonie. Jest to najczęściej używana biblioteka do drukowania 2D. Matplotlib może generować wykresy, wykresy słupkowe, wykresy kołowe, histogramy, widma mocy, wykresy rozrzutu, wykresy błędów i inne rodzaje wizualizacji danych. Biblioteka umożliwia absolutną kontrolę nad wizualizacją. Jest bardzo potężna, ale też bardzo złożona – możesz stworzyć wszystko, ale potrzeba dużo pracy i wysiłku, aby uzyskać rozsądnie wyglądające wykresy.
  • Seaborn – Opierając się na Matplotlib, Seaborn jest znany z tworzenia najbardziej atrakcyjnych wizualnie wizualizacji danych w Pythonie. Biblioteka zapewnia interfejs wysokiego poziomu do rysowania atrakcyjnej i informacyjnej grafiki statystycznej z mniejszym kodem wymaganym w porównaniu z Matplotlib.
  • ggplot – Ta biblioteka jest implementacją Pythona wizualizacji danych ggplot2 w języku programowania R. ggplot jest ściśle zintegrowany z biblioteką Pandas i demonstruje jedną z najlepszych form uczenia maszynowego po tym, jak dowiesz się, jak mapować zmienne na estetykę i jakich prymitywów użyć. Może być używany do generowania prostych reprezentacji graficznych i nie może być używany do tworzenia wysoce spersonalizowanych grafik.
  • Plotly — Plotly umożliwia tworzenie zarówno wizualizacji danych, jak i analiz przy bardzo niewielkiej liczbie wymaganych linii kodu i ma wykresy konturowe, co jest bardzo rzadkie w przypadku wszystkich innych bibliotek. Może generować wiele wizualizacji, takich jak wykresy punktowe, wykresy liniowe, wykresy słupkowe, słupki błędów, wykresy podrzędne, histogramy, wykresy skrzynkowe itp. Ponadto Plotly posiada możliwości narzędzia najechania, które umożliwiają wykrywanie wartości odstających lub anomalii w dużej liczbie punktów danych.
  • Pandas – Chociaż nie jest biblioteką wizualizacji, Pandas jest wysokowydajną biblioteką typu open source, która zapewnia szybką i elastyczną manipulację danymi oraz funkcje przekształcania danych do użytku w bibliotekach wizualizacji Python. Korzystanie z interfejsu API wysokiego poziomu Pandas do przetwarzania danych oznacza, że ​​piszesz mniej kodu Pythona do manipulowania danymi, aby osiągnąć takie same wyniki, jak w przypadku długiego i złożonego kodu Python.

Interaktywna wizualizacja Pythona

Jeśli szukasz interaktywnego narzędzia do wizualizacji w Pythonie, powinieneś rozważyć Bokeh.

Bokeh to interaktywna biblioteka wizualizacji, która renderuje swoją grafikę za pomocą HTML i JavaScript. Jednak Bokeh udostępnia API Pythona do tworzenia interaktywnych wizualizacji w D3.js z lub bez konieczności pisania kodu JavaScript. Nadaje się do dużych lub przesyłanych strumieniowo zasobów danych i może być używany do tworzenia interaktywnych internetowych wykresów, aplikacji i pulpitów nawigacyjnych. Bokeh to bardzo potężne narzędzie do eksploracji i zrozumienia danych oraz tworzenia atrakcyjnych niestandardowych wykresów dla projektu lub raportu. W przestrzeni wizualizacji danych Pythona Bokeh jest kandydatem nr 1 do budowania interaktywnych wizualizacji.

Biblioteka współpracuje również ściśle z narzędziami PyData i pozwala na użycie standardowych obiektów Pandas i NumPy do kreślenia.

Wizualizacja szeregów czasowych w Pythonie

Dane szeregów czasowych to szereg punktów danych wymienionych w kolejności czasowej. Jest to sekwencja kolejnych równych punktów w czasie i składa się z metod analizy w celu wydobycia znaczących spostrzeżeń i innych przydatnych cech danych. Typ danych szeregów czasowych jest ważny w wielu branżach, takich jak farmaceutyka, handel detaliczny, transport, finanse, a nawet w mediach społecznościowych i firmach zajmujących się marketingiem e-mailowym, a także w wielu innych.

Oto wszystkie przykłady danych szeregów czasowych:

  • Medycyna: monitorowanie tętna, śledzenie wagi, monitorowanie ciśnienia krwi itp.
  • Detal: liczba przedmiotów sprzedanych na godzinę w okresie 24 lub 48 godzin
  • Transport: liczba podróżnych, którzy podróżują w ciągu tygodnia lub miesiąca
  • Ekonomia: produkt krajowy brutto, wskaźnik cen konsumpcyjnych itp.

Wykres liniowy jest najczęściej używanym sposobem wizualizacji danych szeregów czasowych, zwykle wyświetlanie wykresu umożliwia interakcje, takie jak powiększanie w celu uzyskania bardziej szczegółowych danych opartych na czasie lub pomniejszanie w celu uzyskania bardziej szczegółowych widoków danych.

Przykład wizualizacji w Pythonie

Narzędzia do wizualizacji danych i pulpitów nawigacyjnych obejmują szeroką gamę typów wykresów. Narzędzia takie jak Python i wyżej wymienione biblioteki graficzne Python mogą pomóc w tworzeniu przydatnych i pouczających wizualizacji, gdy trzeba wyjść poza podane typy wykresów. Na przykład większość produktów nie zawiera zaawansowanych wizualizacji, takich jak diagramy Sankeya, mapy cieplne czy wykresy Steam. Slingshot ułatwia dodawanie tych zaawansowanych wizualizacji w Pythonie.

Domyślnie wizualizacja Pythona w Slingshot zawiera te biblioteki w edytorze skryptów:

 #import matplotlib #import matplotlib.pyplot as plt #import numpy as np #import pandas as pd

Domyślnie pola dostępne domyślnie w Edytorze skryptów to pola wybrane z selektora pól w edytorze wizualizacji:

 #data['Territory'] #data['CampaignID'] #data['Sum of Spend']

Tworzysz swoją wizualizację, tak jak każdy inny wbudowany wykres. Jedyną różnicą jest to, że ten jest tworzony za pomocą kodu Pythona:

 campaignid = np.unique(np.array(data['CampaignID'])) territory = np.unique(np.array(data['Territory'])) spend = np.array(data['Sum of Spend']).reshape((7, 5)) fig, ax = plt.subplots(figsize=(5.5, 6.5)) im = ax.imshow(spend) # Show all ticks... ax.set_xticks(np.arange(len(territory))) ax.set_yticks(np.arange(len(campaignid))) # ... and label them with the respective list entries ax.set_xticklabels(territory) ax.set_yticklabels(campaignid) # Loop over data dimensions and create text annotations. for i in range(len(campaignid)): for j in range(len(territory)): text = ax.text(j, i, spend[i, j], ha="center", va="center", color="w") ax.set_title("Campaign Spend (dollars)") fig.tight_layout()

Efektem jest piękna wizualizacja Heatmap, którą możesz łatwo udostępnić reszcie swojego zespołu!

Python Data Visualization for Beginners

Końcowe przemyślenia

Ponieważ firmy nadal polegają na danych, aby podejmować lepsze i oparte na faktach decyzje, znaczenie wizualizacji danych będzie jeszcze większe. A ponieważ techniki wizualizacji, takie jak wykresy i wykresy, są bardziej wydajne pod względem zrozumienia danych w porównaniu z tradycyjnymi arkuszami kalkulacyjnymi i przestarzałymi raportami danych, używanie narzędzi takich jak Python do tworzenia wizualizacji danych jest koniecznością dla każdego zespołu wielofunkcyjnego.

Jednak nawet przy wadze danych i spostrzeżeń, samo ich posiadanie już nie wystarcza. Aby odblokować potencjał ściągania danych, musisz przekształcić te dane w działania, które pasują do Twojego codziennego przepływu pracy. Dzięki Slingshot możesz płynnie przejść od spostrzeżeń do działania.

Dzięki Slingshot możesz analizować dane, tworzyć piękne wizualizacje danych, współpracować ze wszystkimi w organizacji i z łatwością zarządzać wszystkimi projektami, a wszystko to z tej samej platformy.

Chcesz dowiedzieć się więcej? Wypróbuj Slingshot za darmo i zobacz, jak może pomóc Ci wykorzystać praktyczne spostrzeżenia, jednocześnie ułatwiając zespołowi wykorzystanie danych, kultywowanie kultury opartej na danych i poprawę produktywności.