NumPy
Főnév
NumPy (tsz. NumPies)
- (informatika) NumPy (Numerical Python) egy nyílt forráskódú Python könyvtár, amely az alapvető numerikus számításokhoz és az adatok kezeléséhez készült. A NumPy-t széles körben használják a tudományos számítások, az adatfeldolgozás, a gépi tanulás és a statisztikai elemzések során. A könyvtár legfontosabb jellemzője a n-dimensional array (n-dimenziós tömb) támogatása, amely lehetővé teszi a nagy mennyiségű adat hatékony kezelését és feldolgozását.
Főbb Jellemzők
- N-dimenziós Tömbök:
- A NumPy tömbök (ndarray) alapvető adatszerkezetei lehetővé teszik a többdimenziós adatok tárolását és manipulálását. A NumPy tömbök sokkal hatékonyabbak, mint a Python beépített listái, különösen a számítások végrehajtásában.
- Gyors Számítások:
- A NumPy lehetővé teszi a matematikai műveletek gyors végrehajtását a tömbökön, köszönhetően az alacsony szintű C és Fortran kódokkal végzett optimalizálásnak.
- Széleskörű Matematikai Funkciók:
- A NumPy széles körű matematikai és statisztikai funkciókat kínál, beleértve a lineáris algebra, statisztika, Fourier-transzformáció és random számok generálásának eszközeit.
- Integráció más Könyvtárakkal:
- A NumPy szorosan integrálódik más Python könyvtárakkal, mint például a SciPy, Pandas, Matplotlib és scikit-learn, lehetővé téve a felhasználók számára, hogy komplex adatfeldolgozási és tudományos számítási feladatokat végezzenek.
Alkalmazások
- Adatfeldolgozás:
- A NumPy elengedhetetlen az adatok előkészítése és feldolgozása során, lehetővé téve a tömbök és mátrixok hatékony manipulálását.
- Tudományos Számítások:
- A tudósok és mérnökök a NumPy-t használják komplex matematikai számítások elvégzésére, például modellek és szimulációk futtatására.
- Gépi Tanulás:
- A NumPy fontos szerepet játszik a gépi tanulás modellek fejlesztésében, mivel gyors és hatékony számításokat tesz lehetővé a bemeneti adatokkal.
- Kép- és Jelkezelés:
- A NumPy tömböket használják a képek és jelek feldolgozására, lehetővé téve a pixeladatok manipulálását és a képek elemzését.
Példák a Használatra
- Tömbök Létrehozása:
python import numpy as np array = np.array([[1, 2, 3], [4, 5, 6]])
- Alapvető Matematikai Műveletek:
python # Elemi műveletek a tömbökön sum_array = np.sum(array) mean_array = np.mean(array)
- Lineáris Algebra:
python # Mátrix szorzás A = np.array([[1, 2], [3, 4]]) B = np.array([[5, 6], [7, 8]]) C = np.dot(A, B)
Összegzés
A NumPy egy alapvető könyvtár a Python programozási nyelvhez, amely a numerikus számítások és adatok kezelésének hatékonyságát segíti. A tömbök és mátrixok támogatása, a gyors számítási képességek, valamint a széleskörű matematikai funkciók révén a NumPy elengedhetetlen eszköz a tudományos számításokban, az adatfeldolgozásban és a gépi tanulásban.
Az alábbiakban néhány gyakran használt NumPy funkciót és példát mutatok be, amelyek jól demonstrálják a könyvtár erejét és egyszerűségét.
1. NumPy tömb létrehozása
Egyszerű tömbök létrehozása:
import numpy as np
# 1D tömb
array_1d = np.array([1, 2, 3, 4, 5])
# 2D tömb
array_2d = np.array([[1, 2, 3], [4, 5, 6]])
# Nullákkal feltöltött tömb
zeros_array = np.zeros((3, 3))
# Egységekkel feltöltött tömb
ones_array = np.ones((2, 4))
# Véletlen számokból álló tömb
random_array = np.random.rand(3, 3)
print("1D tömb:", array_1d)
print("2D tömb:\n", array_2d)
print("Nullákkal feltöltött tömb:\n", zeros_array)
print("Egységekkel feltöltött tömb:\n", ones_array)
print("Véletlen tömb:\n", random_array)
2. NumPy tömbök alapműveletei
Alapvető matematikai műveletek:
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
# Összeadás, kivonás, szorzás, osztás
print("Összeadás:", a + b)
print("Kivonás:", a - b)
print("Elemenkénti szorzás:", a * b)
print("Elemenkénti osztás:", a / b)
# Skálázás
print("Skálázás (szorzás 2-vel):", a * 2)
# Négyzetre emelés
print("Elemek négyzete:", a ** 2)
Mátrixműveletek:
A = np.array([[1, 2], [3, 4]])
B = np.array([[2, 0], [1, 3]])
# Mátrix szorzás
matrix_product = np.dot(A, B) # vagy A @ B
print("Mátrix szorzat:\n", matrix_product)
# Transzponálás
print("Mátrix transzponáltja:\n", A.T)
# Determináns
determinant = np.linalg.det(A)
print("Mátrix determinánsa:", determinant)
# Inverz mátrix
inverse = np.linalg.inv(A)
print("Inverz mátrix:\n", inverse)
3. Indexelés és szeletelés
Indexelés:
array = np.array([10, 20, 30, 40, 50])
# Indexelés
print("Első elem:", array[0])
print("Utolsó elem:", array[-1])
# Tömb módosítása
array[2] = 99
print("Módosított tömb:", array)
Szeletelés:
array = np.array([10, 20, 30, 40, 50])
# Szeletelés (2. és 4. elem)
print("Szelet:", array[1:4])
# Többdimenziós szeletelés
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print("Első két sor:\n", matrix[:2, :])
print("Első oszlop:\n", matrix[:, 0])
4. Statikai számítások NumPy-val
data = np.array([1, 2, 3, 4, 5])
# Alapvető statisztikai számítások
print("Összeg:", np.sum(data))
print("Átlag:", np.mean(data))
print("Medián:", np.median(data))
print("Minimum:", np.min(data))
print("Maximum:", np.max(data))
print("Szórás:", np.std(data))
5. NumPy tömbök összeállítása és bontása
Tömbök összeillesztése:
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
# Sorok mentén összefűzés
concat_rows = np.vstack((a, b))
print("Sorok mentén:\n", concat_rows)
# Oszlopok mentén összefűzés
concat_cols = np.hstack((a, b))
print("Oszlopok mentén:\n", concat_cols)
Tömbök felosztása:
array = np.array([[1, 2, 3], [4, 5, 6]])
# Sorok szerinti bontás
split_rows = np.vsplit(array, 2)
print("Sorok bontása:", split_rows)
# Oszlopok szerinti bontás
split_cols = np.hsplit(array, 3)
print("Oszlopok bontása:", split_cols)
6. Véletlenszám-generálás
Véletlenszámok létrehozása:
# Egyenletes eloszlású véletlenszámok
random_uniform = np.random.rand(3, 3)
# Normális eloszlású véletlenszámok
random_normal = np.random.randn(3, 3)
# Egész számok véletlenszerű generálása
random_integers = np.random.randint(0, 10, (3, 3))
print("Egyenletes eloszlású:\n", random_uniform)
print("Normális eloszlású:\n", random_normal)
print("Véletlen egész számok:\n", random_integers)