Python és adattudomány alapok · Lecke 07

Alap adatvizualizáció

Egy jó ábra másodpercek alatt megmutatja a mintázatot. A Python vizualizáció alapja a matplotlib, amelyre a pandas is épít. Ebben a leckében a leggyakoribb diagramtípusokat és a pandas beépített plot metódusát nézzük meg.

Vissza a tananyaghoz


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.

MELYIK DIAGRAM MIRE VALÓ vonal, trend oszlop, összevetés pont, kapcsolat
A vonal a trendet, az oszlop a kategóriák összevetését, a pontdiagram pedig két változó kapcsolatát mutatja. A cél dönti el a típust.
4

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.


← Előző lecke Következő lecke →

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 →