Numpy Cheat Sheet: alapvető adatok elemzése Pythonban

Numpy Cheat Sheet: alapvető adatok elemzése Pythonban

Pythonnal dolgozó adattudósként valószínűleg találkozott a NumPy könyvtárral . Ez a tudományos számítástechnika egyik alapcsomagja Magyarországon.

A többdimenziós tömbök nagy teljesítményű műveleteinek végrehajtására való képességével a NumPy alapvető eszköz mindazok számára, akik az adattudományban vagy a Python numerikus számítástechnikában merülnek fel.

A NumPy csalólap kiváló forrás lehet a Python-könyvtárba való utazáshoz. Egy átfogó csalólap segít eligazodni a NumPy funkciói között, és gyorsan járatossá válik a különféle feladatokhoz való használatában!

Ne feledje továbbá, hogy a NumPy olyan fontos könyvtárak középpontjában áll, mint a Pandas, a SciPy, a sci-kit-learn és más Python-csomagok.

Ha elsajátítja az alapokat a Python NumPy segítségével, akkor jobban felkészült lesz ezekkel a könyvtárakkal. Az összetett adatstruktúrák és számítások kezelésében is fejlesztheti készségeit.

Ön régi iskolába jár (mint mi), és szeretné letölteni és esetleg kinyomtatni a csalólapot?

Ehhez görgessen lefelé.

Tartalomjegyzék

NumPy alapjai

Ebben a részben a NumPy alapjait ismertetjük, különös tekintettel a NumPy telepítésére, a tömb létrehozására, a tömb attribútumaira és az adattípusokra. Ezek a koncepciók szilárd alapot biztosítanak a NumPy megértéséhez és hatékony felhasználásához a Python adattudományi projektekben.

1. A NumPy telepítése és importálása

A NumPy-t a parancssorból telepítheti az alábbi paranccsal:

pip install numpy

Miután telepítette, importálja a kódjába.

import numpy as np

Ne feledje, hogy az np- n kívül bármilyen más nevet is használhat . Az np azonban a legtöbb fejlesztő és adatkutató által használt szabványos NumPy importálási konvenció.

2. Tömb létrehozása

A NumPy-ban tömbök létrehozása egyszerű és egyértelmű. Létrehozhat tömböket listákból vagy sorokból a numpy.array() függvény segítségével:

import numpy as np

a = np.array([1, 2, 3])  # Creates a 1D array
b = np.array([(1, 2, 3), (4, 5, 6)])  # Creates a 2D array

Különböző függvények segítségével speciális alakzatokból és értékekből álló tömböket is létrehozhat:

  • np.zeros() : Nullákkal kitöltött tömböt hoz létre

  • np.ones() : Egyesekkel kitöltött tömböt hoz létre

  • np.identity() : Identitásmátrix tömböt hoz létre.

  • np.empty() : Létrehoz egy tömböt anélkül, hogy elemeit bármilyen értékre inicializálná

  • np.arange() : Létrehoz egy tömböt szabályos térközökkel a kezdő és végérték között

  • np.linspace() : Létrehoz egy tömböt meghatározott számú egyenlő távolságra elosztott értékkel a kezdő és végérték között

Numpy Cheat Sheet: alapvető adatok elemzése Pythonban

Megjegyzés: Nem hozhat létre üres tömböt a NumPy-ban. Minden NumPy tömbnek fix, megváltoztathatatlan mérete van, és a tömb minden elemét ki kell tölteni a tömb létrehozásakor.

Az np.empty() függvény létrehozza a szükséges tömb alakzatot, és kitölti azt véletlenszerű értékekkel. Az alapértelmezett módszer véletlenszerű lebegtetések tömbjét hozza létre.

Létrehozhat egy másik tömb adattípust a dtype paraméterrel.

3. Tömb attribútumok

A NumPy tömbök számos attribútumot tartalmaznak, amelyek hasznos információkat nyújtanak a tömbről. Nézzünk ezek közül néhányat:

  • ndarray.shape: A tömb méreteit sorként adja vissza (sorok, oszlopok)

  • ndarray.ndim: A tömb dimenzióinak számát adja vissza

  • ndarray.size: A tömb elemeinek teljes számát adja vissza

  • ndarray.dtype: A tömbelemek adattípusát adja vissza

Az attribútumok eléréséhez használja a pontjelölést, például:

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

#Print out the array shape
print(a.shape)  # Output: (2, 3)

Numpy Cheat Sheet: alapvető adatok elemzése Pythonban

4. Adattípusok

A NumPy számos adattípust biztosít az adatok tömbökben való tárolására, például egész szám, karakterlánc, float, logikai és összetett. Alapértelmezés szerint a NumPy a bemeneti elemek alapján megpróbálja kikövetkeztetni az adattípust.

Az adattípust azonban kifejezetten megadhatja a dtype kulcsszó használatával is. Például:

import numpy as np
a = np.array([1, 2, 3], dtype=float)  # Creates an array of floats

A leggyakoribb NumPy adattípusok a következők:

  • np.int32 : 32 bites egész szám

  • np.int64: 64 bites egész szám

  • np.float32: 32 bites lebegőpontos szám

  • np.float64: 64 bites lebegőpontos szám

  • np.complex: Komplex szám, amelyet két 64 bites lebegőpontos szám képvisel

Tömböket is konvertálhat egyik adattípusból a másikba. Ebben a példában az alábbi módon alakíthatjuk át az a egész tömböt logikai tömbvé az np.array () metódus használatával .

Numpy Cheat Sheet: alapvető adatok elemzése Pythonban

A példából láthatjuk, hogy az array() metódus a tömbelemeket logikai értékekké alakítja. Ezek a logikai értékek alkotják az új NumPy tömböt.

A NumPy ezen alapvető fogalmainak megértése lehetővé teszi, hogy hatékonyan dolgozzon és hajtson végre számos matematikai NumPy-műveletet. Például megnézheti videónkat a címek átalakításáról és kódolásáról a Pythonban.

Ebben Python Pandas és NumPy adattípusokat használtunk az otthoni címek geokódolásához.

Array Manipulation

Ebben a részben megismerheti a NumPy különböző tömb alakzat-manipulációs technikáit. Beszélni fogunk az újraformázásról, összefűzésről, másolásról, felosztásról, elemek hozzáadása/eltávolítása, indexelés és szeletelés.

Ezek a technikák kulcsfontosságúak a tömbadatokkal való hatékony munkavégzéshez az adattudományi projektekben.

Merüljünk el az egyes alszakaszokban.

1. Átformálás

Egy tömb átalakítása a NumPy-ban gyakori feladat, amelyet el kell végeznie. Előfordulhat, hogy módosítania kell a tömb alakját, hogy megfeleljen egy függvény vagy algoritmus követelményeinek.

Egy tömb átformázásához használja a reshape() függvényt:

arr = np.array([1, 2, 3, 4, 5, 6])
new_arr = arr.reshape(2, 3)

Ezzel az egydimenziós tömböt 2 sorból és 3 oszlopból álló kétdimenziós tömbbé alakítja.

Numpy Cheat Sheet: alapvető adatok elemzése Pythonban

Megjegyzés: Győződjön meg arról, hogy a megadott új alakzat mérete (tömbelemeinek száma) megegyezik az eredeti tömbével.

2. Másolás

Az egyik NumPy tömb elemeit a copy() metódussal átmásolhatja egy másikba . Megjegyzendő, hogy az '=' hozzárendelési operátor használata sekély másolatot hoz létre.

#Creating a shallow copy of a NumPy array
a = np.array([9, 6, 12, 16, 20])
b = a
b[0] = 19

print(a) #Output:[19, 6, 12, 16, 20]
print(b) #Output:[19, 6, 12, 16, 20]

Az új tömb csak a régi tömbre hivatkozik a rendszer memóriájában. Ugyanazokat az elemeket tartalmazzák, és nem függetlenek egymástól.

A mélymásolat használatával egy új NumPy tömböt hoz létre, amely ugyanazokat az adatokat tartalmazza, mint a régi, miközben független attól.

#Creating a deep copy of a NumPy array
a = np.array([9, 6, 12, 16, 20])
b = np.copy(a)
b[0] = 19

print(a) #Output:[9, 6, 12, 16, 20]
print(b) #Output:[19, 6, 12, 16, 20]

3. Összefűzés

Alkalmanként előfordulhat, hogy két tömböt egyetlen tömbbé kell egyesíteni. A NumPy-ban a concatenate() függvény segítségével tömböket kapcsolhat össze egy meglévő tengely mentén:

import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
result = np.concatenate((arr1, arr2))

Ez egyesíti az arr1-et és az arr2-t egyetlen tömbbe. Ne feledje, hogy az összefűzendő tömböknek azonos alakúaknak kell lenniük, kivéve a megadott tengely mentén.

4. Hasítás

A felosztás az összefűzés ellentéte. Egy tömböt kisebb altömbökre oszthat a split() függvény segítségével:

arr = np.array([1, 2, 3, 4, 5, 6])
result = np.split(arr, 3)

Ez felosztja a tömböt 3 egyenlő méretű altömbre. Győződjön meg arról, hogy az Ön által megadott felosztások száma egyenletesen tudja osztani a tömb méretét az adott tengely mentén.

Numpy Cheat Sheet: alapvető adatok elemzése Pythonban

5. Elemek hozzáadása/eltávolítása

A NumPy tömb elemeinek hozzáadása vagy eltávolítása az append() és delete() függvényekkel érhető el . Az előbbivel értékeket fűzhet a tömb végéhez, míg az utóbbi törli az elemet egy megadott indexen.

Íme egy példa:

arr = np.array([1, 2, 3])

arr = np.append(arr, [4, 5, 6]) # Appends values to the end of the array
arr = np.delete(arr, 0) # Removes the array element on index 0

Ne feledje, hogy a NumPy tömbök fix méretűek. Az append() vagy delete() használatakor új tömb jön létre, és az eredeti nem módosul.

6. Indexelés

A NumPy tömbökön ugyanúgy végezhet indexelési műveleteket, mint a Python listákon vagy sorokban. Nézzük meg, hogyan érhetjük el vagy módosíthatjuk a tömbelemeket egy adott tömbben.

arr = np.array([1, 2, 3])

#Returns the array element on index 1
element_2 = b[1]

#Change the array element on index 0
arr[0]= 89

7. Szeletelés

A NumPy tömböket szeletelve is kivonhatja vagy megtekintheti az adatok egy részét, ugyanúgy, mint a Pythonnál. Nézzünk egy példát az alábbiakban:

arr1 = np.array([1, 2, 3, 4, 5, 6, 7])
arr2 = np.array([(1, 2, 3, 6, 0), (4, 5, 6, 11, 13)]) 

# To return the first 3 elements of arr1
print(arr1[0:3]) #Output: [1, 2, 3]

# To return the second row in arr2
b = arr2[1, : ].copy() #Output: [4, 5, 6, 11, 13]

Megjegyzés: A szeletelés egy sekély másolatot hoz létre, amely továbbra is a fő tömbre hivatkozik. Tehát a szeletelt adatokon végrehajtott bármilyen módosítás a fő tömbre vonatkozik, és fordítva.

Ennek elkerülésére használhatja a copy() metódust mély, független másolat létrehozásához.

Elemi funkciók

Ebben a részben megismerheti a NumPy különböző elemi funkcióit, amelyek megkönnyítik az adatelemzési feladatokat. Kitérünk az aritmetikai műveletekre, a trigonometriára, valamint a kitevőkre és a logaritmusokra.

1. Aritmetikai műveletek

A NumPy különféle matematikai műveleteket kínál a tömbökön, amelyek egyszerűvé és hatékonysá teszik a munkát. tömb matematika vektor matematika

Néhány művelet a következő:

  • Kiegészítés: numpy.add(x1, x2)

  • Kivonás: numpy.subtract(x1, x2)

  • Szorzás: numpy.multiply(x1, x2)

  • Felosztás: numpy.divide(x1, x2)

  • Modulus: numpy.mod(x1, x2)

  • Teljesítmény: numpy.power (x1, x2)

  • Négyzetgyök: numpy.sqrt(x)

Numpy Cheat Sheet: alapvető adatok elemzése Pythonban

Megjegyzés: E műveletek használatakor a két tömbnek azonos alakúnak kell lennie. Ha nem, akkor hibákba ütközik.

Egyes tömbök esetében van kivétel a NumPy szolgáltatásnak, az úgynevezett broadcastingnek köszönhetően. Ezzel egy későbbi részben foglalkozunk.

Ezeket a műveleteket elemenként hajthatja végre a tömbökön, ami rendkívül hatékonyvá teszi őket a nagyméretű adatkezeléshez.

2. Trigonometria

A trigonometrikus függvények jelentős szerepet játszanak a különböző matematikai és tudományos számításokban. A NumPy a trigonometrikus funkciók széles skáláját kínálja.

Néhány alapvető funkció a következő:

  • Szinusz : numpy.sin(x)

  • Koszinusz: numpy.cos(x)

  • Érintő: numpy.tan(x)

  • Arcsine: numpy.arcsin(x)

  • Arccosine: numpy.arccos(x)

  • Arktangens : numpy.arctan(x)

Ezek a funkciók zökkenőmentesen működnek a tömbökkel, így könnyebben végezhet vektoros számításokat nagy adatkészleteken.

3. Kitevők és logaritmusok

A kitevők és a logaritmusok kulcsfontosságúak különféle numerikus műveleteknél. A NumPy a kitevők és logaritmusok kezelésére szolgáló függvények kiterjedt gyűjteményét kínálja.

Néhány elsődleges funkció:

  • Exponenciális : numpy.exp(x)

  • Logaritmus(e bázis): numpy.log(x)

  • Logaritmus (10. bázis): numpy.log10(x)

  • Logaritmus(2. bázis): numpy.log2(x)

Ezekkel a függvényekkel gyorsan végrehajthat összetett matematikai műveleteket a tömb minden elemén. Ezzel elérhetőbbé és hatékonyabbá teszi az adatelemzési feladatokat.

Tömbelemzés

Ebben a részben a NumPy tömbök és tömbelemek elemzésére szolgáló különféle technikákat tárgyaljuk. Néhány kulcsfontosságú funkció, amellyel foglalkozni fogunk, az összesítő függvények, a statisztikai függvények, a keresés és a rendezés.

1. Összesített függvények

A NumPy számos aggregált függvényt biztosít, amelyek lehetővé teszik a tömbökön végzett műveletek végrehajtását, például az összes elem összegzését, a minimális vagy maximális érték megtalálását és egyebeket:

  • sum: np.sum(a_tömb) – Számítsa ki a tömb összes elemének összegét.

  • min: np.min(a_tömb) – Keresse meg a minimális tömbelemet.

  • max: np.max(a_tömb) – A tömb maximális elemének megkeresése.

  • mean : np.mean(your_array) – Számítsa ki a tömbben lévő értékek átlagát.

  • medián : np.median(your_array) – Keresse meg a tömbben lévő értékek mediánját.

Numpy Cheat Sheet: alapvető adatok elemzése Pythonban

2. Statisztikai függvények

A NumPy számos statisztikai funkcióval is rendelkezik, amelyek segítenek az adatok elemzésében:

  • std: np.std(a_tömb) – Számítsa ki a tömbben lévő értékek szórását.

  • var: np.var(a_tömb) – A tömbben lévő értékek szórásának kiszámítása.

  • corrcoef : np.corrcoef(your_array) – A tömb korrelációs együtthatójának kiszámítása.

3. Keresés

A NumPy tömbökben való keresést többféle módszerrel lehet végrehajtani:

  • argmin: np.argmin(your_array) – Keresse meg a minimális tömbelem indexét.

  • argmax: np.argmax(your_array) – Keresse meg a maximális tömbelem indexét.

  • ahol: np.hol(feltétel) – A tömb azon elemeinek indexeit adja vissza, amelyek teljesítik az adott feltételt.

4. Rendezés

A tömb elemeit a következő függvényekkel rendezheti:

  • sort : np.sort(your_array) – A tömb elemeinek rendezése növekvő sorrendben.

  • argsort: np.argsort(your_array) – A tömböt rendező indexeket adja vissza.

Ezekkel a funkciókkal és technikákkal kényelmesen elemezheti és manipulálhatja NumPy tömbjeit, hogy értékes ismereteket tárjon fel, és támogassa adatelemzési erőfeszítéseit.

Speciális funkciók

Ebben a részben a NumPy néhány speciális funkcióját fogjuk megvizsgálni, amelyek segítségével hatékonyabban dolgozhat az adatokkal. Kitérünk a Broadcasting és a Lineáris Algebra függvényekre.

1. Műsorszórás

A Broadcasting egy hatékony NumPy funkció, amely lehetővé teszi különböző formájú és méretű tömbök műveleteinek végrehajtását. Úgy működik, hogy automatikusan kibővíti a kisebb tömb méreteit, hogy megfeleljen a nagyobb tömbnek, megkönnyítve az elemenkénti műveletek végrehajtását.

Íme egy példa:

import numpy as np
A = np.array([1, 2, 3])
B = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

C = A + B

Ebben a példában az A 1D tömb a B 2D tömb alakjához igazodik, lehetővé téve az elemenkénti összeadást.

Numpy Cheat Sheet: alapvető adatok elemzése Pythonban

Tartsa szem előtt az alábbi szabályokat, amikor a műsorszórással dolgozik:

  • A tömbök méretének kompatibilisnek kell lennie (vagy azonos méretű, vagy az egyik 1-es).

  • A műsorszórás a záródimenziókból történik, és a vezető méretek felé halad.

2. Lineáris algebra

A NumPy számos lineáris algebrai függvényt biztosít, amelyek hasznosak lehetnek többdimenziós tömbökkel végzett munka során. Néhány ilyen funkció a következőket tartalmazza:

  • np.dot(A, B): Kiszámítja két tömb pontszorzatát.

  • np.linalg.inv(A) : Kiszámítja egy négyzetmátrix inverzét.

  • np.linalg.eig(A) : Kiszámítja egy négyzetmátrix sajátértékeit és sajátvektorait.

  • np.linalg.solve(A, B): Egy lineáris egyenletrendszert old meg, ahol A az együttható mátrix és B a konstans mátrix.

Ne felejtse el mindig ellenőrizni, hogy a mátrixok kompatibilisek-e, mielőtt végrehajtaná ezeket a műveleteket.

Bemenet és kimenet

Ebben a részben megvizsgáljuk, hogyan lehet tömböket menteni és betölteni, valamint hogyan lehet fájlokat olvasni és írni a NumPy használatával.

1. Tömbök mentése és betöltése

Egy tömb mentéséhez használhatja a NumPy np.save() függvényét. Ez a függvény két fő argumentumaként a fájlnevet és a tömböt veszi fel.

import numpy as np
arr = np.array([1, 2, 3])

np.save('my_array.npy', arr)

A mentett tömb betöltéséhez használja az np.load() függvényt, és adja meg a fájlnevet argumentumként.

loaded_array = np.load('my_array.npy')

print(loaded_array)  
# Output: array([1, 2, 3])

Több tömböt is menthet és tölthet be az np.save() és np.load() függvényekkel.

2. Szövegfájlok olvasása és írása

A NumPy funkciókat biztosít szöveges fájlok olvasásához és írásához tömbökkel, például np.loadtxt() és np.savetxt() . Ezekkel a funkciókkal fájlformátumokból, például txt- vagy CSV-fájlból mentheti és töltheti be az adatokat.

Szövegfájl tömbbe olvasásához használja az np.loadtxt() függvényt. A fájlnevet veszi fő argumentumnak, és támogatja az opcionális argumentumokat is a határoló, dtype és egyebek megadásához.

arr_from_txt = np.loadtxt('data.txt', delimiter=',')
print(arr_from_txt)

Az adatok CSV-fájlból való olvasásához használhatja az np.loadtxt() függvényt is. Ügyeljen azonban arra, hogy az elválasztójel mindig vessző legyen, „ , “.

Tömb szövegfájlba írásához használja az np.savetxt() függvényt. Ez a függvény két fő argumentumaként a fájlnevet és a tömböt veszi fel, amelyet az opcionális argumentumok követnek, mint például a határoló és a fejléc.

arr_to_txt = np.array([[1, 2, 3], [4, 5, 6]])
np.savetxt('output_data.txt', arr_to_txt, delimiter=',')

Ezek a bemeneti és kimeneti funkciók lehetővé teszik, hogy hatékonyan dolgozzon tömbökkel és szöveges fájlokkal az adatfeldolgozási és -manipulációs feladatok során a NumPy használatával.

Töltse le csalólapját alább

Végső gondolatok

Nos, ez minden, amit tudnod kell a Numpy Python könyvtár használatának megkezdéséhez! A Python Numpy csalólapot praktikus hivatkozásként is használhatja a könyvtárral való munka során.

A fejlettebb funkciókért tekintse meg a NumPy dokumentációját . Megnézheti ezt a szórakozást is, amelyet új és tapasztalt fejlesztők számára készítettünk.

Sok szerencsét!


A DAX Studio és a Tabular Editor telepítése a LuckyTemplates alkalmazásban

A DAX Studio és a Tabular Editor telepítése a LuckyTemplates alkalmazásban

Ismerje meg, hogyan töltheti le és telepítheti a DAX Studio és a Tabular Editor 3 alkalmazást, és hogyan konfigurálhatja őket a LuckyTemplates és az Excel programban való használatra.

LuckyTemplates alakzattérkép-vizualizáció a térbeli elemzéshez

LuckyTemplates alakzattérkép-vizualizáció a térbeli elemzéshez

Ez a blog tartalmazza a Shape Map vizualizációt a LuckyTemplates térbeli elemzéséhez. Megmutatom, hogyan használhatja hatékonyan ezt a vizualizációt annak funkcióival és elemeivel.

LuckyTemplates pénzügyi jelentések: az eredmények hozzárendelése a sablonokhoz minden egyes sorban

LuckyTemplates pénzügyi jelentések: az eredmények hozzárendelése a sablonokhoz minden egyes sorban

Ebben az oktatóanyagban egy egyedülálló ötletet mutatok be a pénzügyi jelentésekkel kapcsolatban, amely az eredmények hozzárendelését jelenti a LuckyTemplates-en belüli táblázatsablonok előre meghatározásához.

DAX-mértékek a LuckyTemplates-ben mértékelágazás használatával

DAX-mértékek a LuckyTemplates-ben mértékelágazás használatával

Hozzon létre DAX-mértékeket a LuckyTemplates alkalmazásban meglévő mértékek vagy képletek használatával. Ezt nevezem mértékelágazási technikának.

A legerősebb funkcióhívás a LuckyTemplatesben

A legerősebb funkcióhívás a LuckyTemplatesben

Ebben a blogban fedezze fel a LuckyTemplates adatkészletet, a leghatékonyabb függvényhívást, amely M- és DAX-függvények ezreit juttatja a keze ügyébe.

Adatmodellezési technikák a DAX-mérések megszervezéséhez

Adatmodellezési technikák a DAX-mérések megszervezéséhez

A mai oktatóanyagban megosztok néhány adatmodellezési technikát a DAX-mérések jobb rendszerezéséhez a hatékonyabb munkafolyamat érdekében.

LuckyTemplates pénzügyi irányítópult: Teljes táblázat testreszabási tippek

LuckyTemplates pénzügyi irányítópult: Teljes táblázat testreszabási tippek

A LuckyTemplates egy nagyszerű eszköz a pénzügyi jelentésekhez. Itt található egy oktatóanyag, amely bemutatja, hogyan hozhat létre személyre szabott táblázatokat a LuckyTemplates pénzügyi irányítópultjához.

A Power Query nyelvi folyamatának bevált gyakorlatai

A Power Query nyelvi folyamatának bevált gyakorlatai

Ez az oktatóanyag megvitatja a Power Query nyelvi folyamatot, és azt, hogyan segíthet zökkenőmentes és hatékony adatjelentések létrehozásában.

LuckyTemplates egyéni ikonok | PBI vizualizációs technika

LuckyTemplates egyéni ikonok | PBI vizualizációs technika

Az egyik kedvenc technikámról fogok beszélni a LuckyTemplates egyéni ikonok körül, amely dinamikusan használja az egyéni ikonokat a LuckyTemplates vizualizációkban.

LuckyTemplates táblázatok létrehozása UNION & ROW függvény használatával

LuckyTemplates táblázatok létrehozása UNION & ROW függvény használatával

Ebben a blogban megmutatom, hogyan hozhat létre LuckyTemplates táblázatokat olyan képlet segítségével, amely egyesíti az UNION és a ROW függvényt.