User Tools

Site Tools


tanszek:oktatas:muszaki_informatika:numpy_ii._statisztika_matrixmuveletek

This is an old revision of the document!


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