tanszek:oktatas:muszaki_informatika:numpy_ii._statisztika_matrixmuveletek
This is an old revision of the document!
Table of Contents
NumPy II – 2D tömbök (mátrixok), axis fogalma, aggregálás tengely mentén
Mi az a 2D tömb?
- 1D tömb = lista jellegű adatsor
- 2D tömb = sorok és oszlopok (táblázat)
Példa:
import numpy as np
matrix = np.array([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
])
print(matrix)
#Dimenzió lekérdezése:
print(matrix.shape)
Indexelés 2D tömbben
Indexelés: [sor, oszlop]
print(matrix[0, 0])
print(matrix[1, 2])
Teljes sor:
print(matrix[1, :])
Teljes oszlop:
print(matrix[:, 0])
Feladat: Hozz létre egy 3×3-as tömböt 0–8 értékekkel. Írd ki a második sort. Írd ki a harmadik oszlopot.
import numpy as np
arr = np.arange(9).reshape(3, 3)
print("Második sor:", arr[1, :])
print("Harmadik oszlop:", arr[:, 2])
Axis fogalma
- axis=0 → oszlopok mentén (sorokat “összevonjuk”)
- axis=1 → sorok mentén (oszlopokat “összevonjuk”)
Példa:
print(matrix.sum(axis=0)) print(matrix.sum(axis=1))
Feladat: Adott egy jegytábla:
jegyek = np.array([
[4, 5, 3],
[2, 4, 5],
[5, 5, 4]
])
- Számold ki tanulónként az átlagot.
- Számold ki tantárgyanként az átlagot.
import numpy as np
jegyek = np.array([
[4, 5, 3],
[2, 4, 5],
[5, 5, 4]
])
print("Tanulónkénti átlag:", jegyek.mean(axis=1))
print("Tantárgyankénti átlag:", jegyek.mean(axis=0))
Mátrixműveletek
Elemenkénti műveletek
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
print(A + B)
print(A * B)
- Mátrixszorzás
print(A @ B)
Feladat: Hozz létre két 2×2-es mátrixot. Számold ki az összegüket. Számold ki a mátrixszorzatot
import numpy as np
A = np.array([[1, 2], [3, 4]])
B = np.array([[2, 0], [1, 2]])
print("Összeg:", A + B)
print("Mátrixszorzat:", A @ B)
Valósabb adat példa (fájlból 2D)
Tegyük fel, hogy az adat2d.txt fájl tartalma:
1 2 3 4 5 6 7 8 9
Beolvasás:
import numpy as np
adat = np.loadtxt("adat2d.txt")
print("Shape:", adat.shape)
print("Oszlopátlag:", adat.mean(axis=0))
Összefoglaló feladatok
1.Feladat: Egy cég havi bevételeit tároljuk táblázatban (3 év × 12 hónap).
- Unordered List ItemGenerálj véletlen adatokat (pl. 100–500 közötti számokkal)
- Unordered List ItemSzámold ki:
- Évenkénti összbevétel
- Havi átlagbevétel (3 év átlaga)
import numpy as np
np.random.seed(0)
bevetel = np.random.randint(100, 501, size=(3, 12))
print("Évenkénti összes bevétel:", bevetel.sum(axis=1))
print("Havi átlagbevétel:", bevetel.mean(axis=0))
tanszek/oktatas/muszaki_informatika/numpy_ii._statisztika_matrixmuveletek.1772174524.txt.gz · Last modified: 2026/02/27 06:42 by szabom
