Az ábra mint gondolkodási eszköz
A számok táblázata nehezen olvasható, egy jó ábra viszont másodpercek alatt megmutatja a mintázatot, a kiugró értéket vagy a trendet. A Python vizualizáció alapja a matplotlib könyvtár, amelyre a pandas is épít. A matplotlib rajzoló felületét a pyplot modulon keresztül érjük el, a szokásos importja a plt rövidítéssel történik. A pandas DataFrame és Series ráadásul saját plot metódust is kínál, amely a háttérben a matplotlibet használja.
import matplotlib.pyplot as plt
x = [1, 2, 3, 4]
y = [1, 4, 9, 16]
plt.plot(x, y) # vonaldiagram
plt.xlabel("x")
plt.ylabel("negyzet")
plt.title("Egyszeru vonaldiagram")
plt.show() # megjeleniti az abrat
A pyplot alap munkamenete. A plot rajzol, az xlabel, ylabel és title feliratoz, a show pedig megjeleníti.
A leggyakoribb diagramtípusok
Néhány diagramtípus lefedi az esetek nagy részét. A vonaldiagram idősorhoz és folytonos trendhez való, az oszlopdiagram kategóriák összehasonlításához, a hisztogram egyetlen változó eloszlásának megmutatásához, a pontdiagram pedig két változó kapcsolatának vizsgálatához. A választás mindig attól függ, mit akarunk láttatni.
Oszlopdiagram és hisztogram
Az oszlopdiagramot a bar függvény rajzolja, a kategóriák és a hozzájuk tartozó értékek megadásával. A hisztogramot a hist függvény készíti egyetlen számsorból, és a tartományokat rekeszekbe, angolul binekbe sorolja. A hisztogram nem összehasonlít, hanem az eloszlást mutatja, vagyis hogy az értékek hol sűrűsödnek.
# oszlopdiagram: kategoriak osszehasonlitasa
termekek = ["kave", "tea", "kakao"]
eladas = [120, 80, 45]
plt.bar(termekek, eladas)
plt.title("Eladas termekenkent")
plt.show()
# hisztogram: egy valtozo eloszlasa
import numpy as np
ertekek = np.array([2, 3, 3, 4, 4, 4, 5, 5, 6])
plt.hist(ertekek, bins=5)
plt.show()
A bar kategóriákat hasonlít össze, a hist pedig egyetlen változó eloszlását mutatja rekeszekbe sorolva.
Ábra közvetlenül a pandasból
A napi munkában a leggyorsabb út gyakran a pandas beépített plot metódusa. Egy Series vagy egy DataFrame plot hívása közvetlenül ábrát rajzol, a háttérben a matplotlibet használva. Így egy oszlop értékeit vagy egy időben rendezett sort néhány karakterrel meg lehet jeleníteni, ami az adat gyors feltárásához ideális.
import pandas as pd
df = pd.DataFrame({
"termek": ["kave", "tea", "kakao"],
"eladas": [120, 80, 45],
})
df.plot(x="termek", y="eladas", kind="bar") # pandas sajat plot
plt.show()
A pandas plot metódusa közvetlenül a DataFrame-ből rajzol. A kind paraméter választja meg a diagram típusát.
Négy diagram, szinte minden eset. Vonal a trendhez, oszlop az összevetéshez, hisztogram az eloszláshoz, pont a kapcsolathoz. A választás mindig abból induljon ki, mit akarsz megmutatni, nem abból, melyik néz ki látványosabban.
Workshop
AI Transformation Day
Egésznapos, vezetőknek szóló program. Feltérképezzük, hol tart a szervezet, mi az első reális lépés, és milyen belső feltételek szükségesek a sikerhez. A nap végén konkrét, prioritizált cselekvési lista.
Érdekel a program →