UseAIEasily Shop
UseAIEasilyShop
Back to course

Data Analysis & Decision-Making with Python (NumPy, Pandas) · 1. module

NumPy tömbök és műveletek

30 percVideó + olvasható
Coming soon

Video is coming soon. You can read the lesson below.

The written lesson is available below.

Miről lesz szó

A NumPy a Python adat-stack alja. Minden Pandas, Matplotlib, scikit-learn ezen a könyvtáron áll. 30 perc, és tudni fogod, mi a különbség egy Python lista és egy NumPy tömb között, és mikor melyik a megfelelő.

Mi a NumPy tömb?

Egy fix-méretű, fix-típusú elem-sor a memóriában. A klasszikus Python lista tárolhat bármit (int, str, dict). Egy NumPy tömb csak egy típust — pl. csak float64-et. Ezért 10-100×-szer gyorsabb a számoláson.

Az 5 alapvető művelet

import numpy as np

a = np.array([1, 2, 3, 4, 5])

a.shape       # (5,)
a.dtype       # int64
a.mean()      # 3.0
a + 10        # [11 12 13 14 15] — vektorizált, nem loop
a[a > 2]      # [3 4 5] — boolean mask

A vektorizáció varázsa

A klasszikus Python:

result = []
for x in data:
    result.append(x * 2 + 1)

NumPy:

result = data * 2 + 1

Ugyanaz, de 100× gyorsabb 1 millió elem fölött. Ne loop-olj NumPy tömbön — művelj rajta egészben.

A 2D tömb: a mátrix

m = np.array([[1, 2, 3], [4, 5, 6]])
m.shape              # (2, 3)
m.sum(axis=0)        # oszlopok összege: [5, 7, 9]
m.sum(axis=1)        # sorok összege:    [6, 15]

A axis=0 mindig „oszlop-szinten", a axis=1 mindig „sor-szinten". Ez sokak számára zavaró. Tipp: az axis az a dimenzió, AMIT eltüntetsz az aggregációval.

Random adatgenerálás (tanuláshoz)

np.random.seed(42)               # reprodukálható eredmény
sales = np.random.randint(50, 200, size=12)  # 12 hónap, 50-200 közti eladás
prices = np.random.normal(10, 2, size=100)   # 100 ár, átlag 10, szórás 2

A seed-et MINDIG add meg a kurzusgyakorlatban, hogy a te eredményed és az enyém ugyanaz legyen.

Mi következik

Modul 1 következő leckéjében a Pandas DataFrame-be megyünk mélyen. A NumPy a számok motorja; a Pandas a táblázatos adatok kerete.