A NumPy könyvtár az egyik legismertebb és leghasznosabb eszköz a Pythonban a numerikus adatok kezelésére. A vektorokkal és mátrixokkal való munka a NumPy alapvető funkciói közé tartozik, és számos egyszerű, de rendkívül hatékony műveletet lehet vele végrehajtani. A következőkben megismerkedünk a NumPy használatával vektorok belső szorzatának kiszámítására, a vektorok normájának meghatározására, illetve különböző statisztikai műveletek elvégzésére.
Az első példa bemutatja a vektorok belső szorzatát, amelyet három különböző módon végezhetünk el. A belső szorzat, vagy dot product, két vektor összetevőinek szorzatainak összegét adja meg. A NumPy dot() függvénye segítségével egyszerűen kiszámíthatjuk ezt az értéket. Az alábbi kód háromféle módon végzi el a műveletet:
A fenti kód eredménye a következő lesz:
A dot() függvény mindkét irányban ugyanazt az eredményt adja, hiszen a belső szorzat kommutatív művelet. A np.dot() ugyanazt a műveletet végzi el, de az explicit hívás lehetővé teszi, hogy nagyobb összetettségű számításoknál is egyszerűen alkalmazhassuk.
A következő fontos fogalom, amit érdemes megérteni, a vektorok "normája". A normát egy vektor hosszaként értelmezhetjük, amely a vektor önmagával vett belső szorzatának négyzetgyöke. A NumPy a np.linalg.norm() függvénnyel képes kiszámítani ezt az értéket. Ezen kívül más módszerekkel is meghatározhatjuk a vektor normáját, például a np.sum(np.square(a)) vagy np.sqrt(np.sum(a*a)) kifejezésekkel.
Az alábbi kód segítségével kiszámíthatjuk egy vektor normáját:
A kód kimenete a következő lesz:
Látható, hogy az eredmények egyeznek, de a számítás módja különböző. A np.linalg.norm() függvény használata sokkal egyszerűbb és gyorsabb, mint a többi módszer, amely több lépést is igényel.
A következő fontos művelet, amit érdemes megismerni, az a Hadamard-szorzat. Ez a művelet két vektor komponenseinek szorzatait adja vissza egy harmadik vektorban. A Hadamard-szorzatot az * operátorral hajthatjuk végre NumPy-ban. Ha összegzünk egy ilyen vektort, az összeg ugyanaz lesz, mint a két vektor belső szorzata. Az alábbi példában az a és b vektorok Hadamard-szorzatát végezzük el, majd kiszámoljuk az összegüket:
A kimenet:
A Hadamard-szorzat eredményeként a [3, 8] vektort kapjuk, és annak összege megegyezik a belső szorzat eredményével.
A NumPy egy másik rendkívül hasznos függvénye a reshape(), amely lehetővé teszi egy vektor vagy mátrix dimenzióinak módosítását. Ha egy vektor vagy mátrix m elemet tartalmaz, azt átrendezhetjük más dimenziókra, ha azok szorzata megegyezik m-mel. Az alábbi kód bemutatja, hogyan változtathatjuk meg egy NumPy tömb alakját:
A kimenet a következő lesz:
A reshape() módszer rendkívül hasznos, ha egy adatstruktúrát más formában szeretnénk kezelni, például egy mátrixot vektoros formába konvertálni, vagy fordítva.
A statisztikai műveletek is egyszerűen végezhetők el NumPy segítségével. A mean() és std() függvények segítségével könnyedén kiszámíthatjuk egy adathalmaz átlagát és szórását. Az alábbi példa bemutatja, hogyan végezhetjük el ezt:
A kimenet a következő lesz:
A mean() és std() függvények az adat halmazának átlagát és szórását számolják ki, míg az utolsó két sorban látható, hogyan lehet az adathalmazt normalizálni, hogy annak átlaga 0, szórása pedig 1 legyen.
A kvartilisek kiszámítása is egyszerű a NumPy segítségével. A percentile() függvény segítségével meghatározhatók az
Hogyan használjuk a Pandas DataFrame-eket és a NumPy tömböket statisztikai elemzésekhez?
A Pandas és a NumPy könyvtárak széleskörű eszköztárat kínálnak adatok kezelésére és elemzésére, különösen, ha komplex statisztikai műveletek végrehajtásáról van szó. Ezek a könyvtárak különböző adatstruktúrákat és funkciókat biztosítanak, amelyek segítenek gyorsan és hatékonyan elemezni a nagy adatállományokat. A következő példa és magyarázatok bemutatják, hogyan használhatjuk ezeket az eszközöket a mindennapi adatkezelési feladatokhoz, például adatok leíró statisztikáinak előállításához, szórásdiagramok készítéséhez, valamint egyszerű statisztikai műveletekhez.
A NumPy tömbökkel dolgozó alapvető műveletek egyszerűek. Az alábbi kódban egy NumPy tömb, myarray kerül inicializálásra, majd egy Pandas DataFrame, mydf, jön létre belőle, ahol az adatokat a hónapok és gyümölcsök/italok sorai és oszlopai azonosítják:
A fenti kódban a describe() függvény automatikusan generálja a statisztikai leírást a mydf DataFrame-ről, amely tartalmazza az alapvető mutatókat, mint például az átlag, a szórás, az minimum és maximum értékek, valamint az interkvartilis tartományok (25%, 50%, 75%). Ezek a statisztikai mutatók fontosak az adatok jellemzésében, mivel segítenek gyorsan feltérképezni az adatok eloszlását és az esetleges anomáliákat.
A következő példa a housing_stats.py scriptet mutatja be, amely segítségével egy lakáspiaci adatokat tartalmazó CSV fájl adatait analizálhatjuk. A script az alábbi módon gyűjti ki a legfontosabb statisztikai mutatókat, például az ingatlanok hálószobáinak számának minimum, medián és maximum értékét:
Ez a kód a pandas által biztosított funkciókkal dolgozik, amelyek lehetővé teszik a könnyű és gyors statisztikai elemzést. A read_csv függvény használatával beolvashatjuk az adatokat, majd a min(), median(), max() metódusokkal meghatározhatjuk a kívánt statisztikákat. Emellett a korrelációs mátrix (corr()) segít megérteni az egyes változók közötti kapcsolatokat.
A Pandas más hasznos parancsokat is tartalmaz, amelyeket mindennapi adatfeldolgozáshoz és elemzéshez alkalmazhatunk. Például egy DataFrame mentéséhez CSV fájlba a következő parancsot használhatjuk:
Ezen kívül a hiányzó adatok eltávolítására vagy kitöltésére is van lehetőség:
A Pandas egyedi adatkezelési funkciói között szerepelnek olyan műveletek, mint az adatok rendezése, szűrése és oszlopok vagy sorok eltávolítása. Ezek lehetővé teszik az adatállomány gyors és hatékony manipulálását. Például az alábbiakban bemutatott kóddal egyszerűen megszűrhetjük azokat a sorokat, amelyek egy adott oszlop értékei megfelelnek egy bizonyos kritériumnak:
Ezen felül az oszlopok átalakításával, például a szöveges típusú adatokat számokká konvertálva is végezhetünk műveleteket:
A Pandas és a NumPy könyvtárak együtt alkalmazva lehetőséget biztosítanak nemcsak statisztikai elemzések elvégzésére, hanem adatvizualizációs feladatok elvégzésére is. A scatter_matrix segítségével több változó közötti kapcsolatokat vizsgálhatunk meg vizuálisan, segítve az adataink mélyebb megértését.
A következő kódban pedig egy véletlenszerű adatokat tartalmazó DataFrame-et generálhatunk, és kiszámíthatjuk a sorok és oszlopok összegét:
Ez a kód generál egy 4x5-ös DataFrame-et véletlenszerű számokkal, majd kiszámítja a sorok és oszlopok összegét, végül ezeket hozzáadja a DataFrame-hez. Az ilyen típusú adatmanipulációk lehetővé teszik az adatok gyors elemzését és a szükséges információk gyors kinyerését.
Fontos megjegyezni, hogy bár a Pandas és a NumPy rengeteg beépített funkcióval rendelkezik, az adatok előkészítése és tisztítása mindig az elemzés legfontosabb lépései közé tartozik. Mielőtt bármilyen statisztikai vagy gépi tanulási algoritmust alkalmaznánk, biztosítani kell, hogy az adataink tiszták, helyesek és megfelelő formátumban legyenek.
Hogyan alakultak a harci szokások és a mitikus eszközök a kelta mitológiában?
Miért fontos Donald Trump önpromóciója és kommunikációs stílusa a politikai diskurzusban?
Hogyan készülj fel elsősegélynyújtásra és kezeld a vészhelyzeteket?

Deutsch
Francais
Nederlands
Svenska
Norsk
Dansk
Suomi
Espanol
Italiano
Portugues
Magyar
Polski
Cestina
Русский