Numpy Cheat Sheet: Základní analýza dat v Pythonu

Numpy Cheat Sheet: Základní analýza dat v Pythonu

Jako datový vědec pracující s Pythonem jste se s největší pravděpodobností setkali s knihovnou NumPy . Je to jeden ze základních balíčků pro vědecké výpočty v .

Díky své schopnosti provádět vysoce výkonné operace na vícerozměrných polích je NumPy nezbytným nástrojem pro každého, kdo se ponoří do datové vědy nebo numerických výpočtů v Pythonu.

Cheat sheet NumPy může být vynikajícím zdrojem, který vám pomůže nasměrovat vaši cestu do této knihovny Pythonu. Komplexní cheat list vám pomůže orientovat se ve funkcích NumPy a rychle se zdokonalíte v jeho používání pro různé úkoly!

Pamatujte také, že NumPy je jádrem důležitých knihoven, jako jsou Pandas, SciPy, sci-kit-learn a další balíčky Pythonu.

Když si osvojíte jeho základy pomocí Python NumPy , budete lépe vybaveni pro práci s těmito knihovnami. Posílíte také své dovednosti při práci se složitými datovými strukturami a výpočty.

Jste ze staré školy (jako my) a chcete si stáhnout a případně vytisknout svůj cheat sheet?

Chcete-li to provést, přejděte dolů.

Obsah

Základy NumPy

V této části pokryjeme základy NumPy se zaměřením na instalaci NumPy, vytváření pole, atributy pole a datové typy. Tyto koncepty poskytnou pevný základ pro pochopení a efektivní využití NumPy ve vašich projektech vědy o datech v Pythonu.

1. Instalace a import NumPy

NumPy můžete nainstalovat z příkazového řádku pomocí příkazu níže:

pip install numpy

Jakmile je nainstalován, importujte jej do svého kódu.

import numpy as np

Mějte na paměti, že můžete použít jakýkoli jiný název kromě np . Nicméně np je standardní konvence importu NumPy, kterou používá většina vývojářů a datových vědců.

2. Vytváření pole

Vytváření polí v NumPy je jednoduché a přímočaré. Pole můžete vytvořit ze seznamů nebo n-tic pomocí funkce numpy.array() :

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

Můžete také generovat pole konkrétních tvarů a hodnot pomocí různých funkcí:

  • np.zeros() : Vytvoří pole vyplněné nulami

  • np.ones() : Vytvoří pole vyplněné jedničkami

  • np.identity() : Vytvoří pole matice identity.

  • np.empty() : Vytvoří pole bez inicializace jeho prvků na jakoukoli konkrétní hodnotu

  • np.arange() : Vytvoří pole s pravidelně rozmístěnými hodnotami mezi počáteční a koncovou hodnotou

  • np.linspace() : Vytvoří pole se zadaným počtem rovnoměrně rozložených hodnot mezi počáteční a koncovou hodnotou

Numpy Cheat Sheet: Základní analýza dat v Pythonu

Poznámka: V NumPy nemůžete vygenerovat prázdné pole. Každé pole NumPy má pevnou, neměnnou velikost a každý prvek v poli musí být vyplněn při vytváření pole.

Funkce np.empty () vytvoří požadovaný tvar pole a naplní jej náhodnými hodnotami. Výchozí metoda vytvoří pole náhodných floatů.

Pomocí parametru dtype můžete vytvořit jiný datový typ pole .

3. Atributy pole

Pole NumPy mají několik atributů, které poskytují užitečné informace o poli. Podívejme se na některé z nich:

  • ndarray.shape: Vrátí rozměry pole jako n-tici (řádky, sloupce)

  • ndarray.ndim: Vrátí počet dimenzí v poli

  • ndarray.size: Vrátí celkový počet prvků v poli

  • ndarray.dtype: Vrátí datový typ prvků pole

Pro přístup k těmto atributům použijte tečkovou notaci, například:

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

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

Numpy Cheat Sheet: Základní analýza dat v Pythonu

4. Datové typy

NumPy poskytuje několik datových typů pro ukládání dat v polích, jako jsou integer, string, float, boolean a complex. Ve výchozím nastavení se NumPy pokouší odvodit datový typ na základě vstupních prvků.

Můžete však také explicitně určit datový typ pomocí klíčového slova dtype . Například:

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

Mezi běžné typy dat NumPy patří:

  • np.int32 : 32bitové celé číslo

  • np.int64: 64bitové celé číslo

  • np.float32: 32bitové číslo s plovoucí desetinnou čárkou

  • np.float64: 64bitové číslo s plovoucí desetinnou čárkou

  • np.complex: Komplexní číslo reprezentované dvěma 64bitovými čísly s plovoucí desetinnou čárkou

Pole můžete také převést z jednoho datového typu na jiný. V tomto příkladu si ukážeme, jak můžeme pomocí metody np.array() převést pole Integer a na booleovské pole arr .

Numpy Cheat Sheet: Základní analýza dat v Pythonu

Z příkladu vidíme, že metoda array() převádí prvky pole na booleovské hodnoty. Tyto booleovské hodnoty pak tvoří nové pole NumPy arr.

Pochopení těchto základních pojmů NumPy vám umožní efektivně pracovat a provádět různé matematické operace NumPy. Můžete se například podívat na naše video o tom, jak transformovat a kódovat adresy v Pythonu.

V něm jsme použili datové typy Python Pandas a NumPy ke geokódování domovských adres.

Manipulace s polem

V této části se dozvíte o různých technikách manipulace s tvarem pole v NumPy. Probereme přetváření, zřetězení, kopírování, rozdělování, přidávání/odebírání prvků, indexování a krájení.

Tyto techniky jsou klíčové pro efektivní práci s daty pole ve vašich projektech datové vědy.

Pojďme se ponořit do každé podsekce.

1. Přetváření

Přetvoření pole v NumPy je běžný úkol, který budete provádět. Možná budete muset změnit tvar pole, aby odpovídal požadavkům funkce nebo algoritmu.

Chcete-li změnit tvar pole, použijte funkci reshape() :

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

Tím se vaše jednorozměrné pole převede na dvourozměrné pole se 2 řádky a 3 sloupci.

Numpy Cheat Sheet: Základní analýza dat v Pythonu

Poznámka: Ujistěte se, že nový tvar, který zadáte, má stejnou velikost (počet prvků pole) jako původní pole.

2. Kopírování

Prvky v jednom poli NumPy můžete zkopírovat do jiného pomocí metody copy() . Měli byste si uvědomit, že použití operátoru přiřazení '=' vytvoří mělkou kopii.

#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]

Nové pole pouze odkazuje na staré pole v paměti systému. Obsahují stejné prvky a nejsou na sobě nezávislé.

Pomocí hluboké kopie vytvoříte nové pole NumPy, které obsahuje stejná data jako to staré, přičemž je na něm nezávislé.

#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. Zřetězení

Občas může být potřeba sloučit dvě pole do jednoho. V NumPy můžete použít funkci concatenate() ke spojení polí podél existující osy:

import numpy as np

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

To kombinuje arr1 a arr2 do jednoho pole. Mějte na paměti, že zřetězená pole by měla mít stejný tvar, s výjimkou podél zadané osy.

4. Štípání

Rozdělení je opakem zřetězení. Pole můžete rozdělit na menší dílčí pole pomocí funkce split():

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

Tím se pole rozdělí na 3 stejně velké podpole. Ujistěte se, že zadaný počet rozdělení může rovnoměrně rozdělit velikost pole podél dané osy.

Numpy Cheat Sheet: Základní analýza dat v Pythonu

5. Přidávání/odebírání prvků

Přidání nebo odebrání prvků v poli NumPy lze provést pomocí funkcí append() a delete() . První můžete použít k připojení hodnot na konec pole, zatímco druhý odstraní prvek na zadaném indexu.

Zde je příklad:

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

Mějte na paměti, že pole NumPy mají pevnou velikost. Při použití append() nebo delete() se vytvoří nové pole a původní pole se nezmění.

6. Indexování

Operace indexování na polích NumPy můžete provádět stejným způsobem, jako byste je dělali na seznamech nebo n-ticích Pythonu. Podívejme se, jak můžete přistupovat k prvkům pole v daném poli nebo je měnit.

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. Krájení

Můžete také rozdělit pole NumPy a extrahovat nebo zobrazit část dat stejným způsobem, jako byste to dělali v Pythonu. Podívejme se na příklad níže:

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]

Poznámka: Slicování vytvoří mělkou kopii, která stále odkazuje na hlavní pole. Takže jakákoli změna, kterou provedete v rozdělených datech, bude aplikována na hlavní pole a naopak.

Abyste tomu zabránili, můžete použít metodu copy() k vytvoření hluboké nezávislé kopie.

Elementární funkce

V této části se dozvíte o různých základních funkcích v NumPy, které vám usnadní úkoly analýzy dat. Probereme aritmetické operace, trigonometrii a exponenty a logaritmy.

1. Aritmetické operace

NumPy nabízí různé matematické operace na polích, díky kterým je práce s nimi jednoduchá a efektivní. pole matematika vektorová matematika

Některé z operací jsou:

  • Přidání: numpy.add(x1, x2)

  • Odečítání: numpy.subtract(x1, x2)

  • Násobení: numpy.multiply(x1, x2)

  • Dělení: numpy.divide(x1, x2)

  • Modul: numpy.mod(x1, x2)

  • Napájení: numpy.power(x1, x2)

  • Druhá odmocnina: numpy.sqrt(x)

Numpy Cheat Sheet: Základní analýza dat v Pythonu

Poznámka: Při použití těchto operací musí mít obě pole stejný tvar. Pokud ne, narazíte na chyby.

Pro určitá pole existuje výjimka díky funkci NumPy zvané vysílání. Tomu se budeme věnovat v pozdější části.

Tyto operace můžete provádět po jednotlivých prvcích na polích, což je činí vysoce efektivními pro manipulaci s daty ve velkém měřítku.

2. Trigonometrie

Goniometrické funkce hrají významnou roli v různých matematických a vědeckých výpočtech. NumPy poskytuje širokou škálu trigonometrických funkcí.

Některé ze základních funkcí jsou:

  • Sinus : numpy.sin(x)

  • Kosinus: numpy.cos(x)

  • Tangenta: numpy.tan(x)

  • Arcsine: numpy.arcsin(x)

  • Arcosine: numpy.arccos(x)

  • Arktangens : numpy.arctan(x)

Tyto funkce bezproblémově spolupracují s poli, což vám usnadňuje provádění vektorizovaných výpočtů na velkých souborech dat.

3. Exponenty a logaritmy

Exponenty a logaritmy jsou klíčové pro různé numerické operace. NumPy poskytuje rozsáhlou sbírku funkcí pro práci s exponenty a logaritmy.

Některé z primárních funkcí jsou:

  • Exponenciální : numpy.exp(x)

  • Logaritmus (základ e): numpy.log(x)

  • Logaritmus (základ 10): numpy.log10(x)

  • Logaritmus (základ 2): numpy.log2(x)

Pomocí těchto funkcí můžete rychle provádět složité matematické operace s každým prvkem v poli. Díky tomu jsou vaše úlohy analýzy dat přístupnější a efektivnější.

Analýza pole

V této části probereme různé techniky analýzy polí a prvků polí v NumPy. Některé z klíčových funkcí, které pokryjeme, zahrnují agregační funkce, statistické funkce, vyhledávání a třídění.

1. Agregační funkce

NumPy poskytuje několik agregačních funkcí, které vám umožňují provádět operace s poli, jako je sčítání všech jejich prvků, nalezení minimální nebo maximální hodnoty a další:

  • sum: np.sum(vaše_pole) – Vypočte součet všech prvků v poli.

  • min: np.min(vaše_pole) – Najděte minimální prvek pole.

  • max: np.max(vaše_pole) – Najděte maximální prvek pole.

  • mean : np.mean(vaše_pole) – Vypočte průměr hodnot v poli.

  • medián : np.median(vaše_pole) – Najděte medián hodnot v poli.

Numpy Cheat Sheet: Základní analýza dat v Pythonu

2. Statistické funkce

NumPy má také řadu statistických funkcí, které vám pomohou analyzovat data:

  • std: np.std(vaše_pole) – Vypočte směrodatnou odchylku hodnot v poli.

  • var: np.var(vaše_pole) – Vypočítejte rozptyl hodnot v poli.

  • corrcoef : np.corrcoef(vaše_pole) – Vypočte korelační koeficient pole.

3. Hledání

Vyhledávání v polích NumPy lze provádět různými metodami:

  • argmin: np.argmin(vaše_pole) – Najděte index minimálního prvku pole.

  • argmax: np.argmax(vaše_pole) – Najděte index prvku maximálního pole.

  • kde: np.where(podmínka) – Vrátí indexy prvků v poli, které splňují danou podmínku.

4. Třídění

Prvky v poli můžete třídit pomocí následujících funkcí:

  • sort : np.sort(vaše_pole) – Seřadí prvky v poli vzestupně.

  • argsort: np.argsort(vaše_pole) – Vrátí indexy, které by seřadily pole.

Pomocí těchto funkcí a technik můžete pohodlně analyzovat a manipulovat se svými poli NumPy, abyste odkryli cenné poznatky a podpořili své úsilí o analýzu dat.

Pokročilé funkce

V této části prozkoumáme některé pokročilé funkce v NumPy, které vám pomohou efektivněji pracovat s vašimi daty. Budeme se zabývat funkcemi Broadcasting a Linear Algebra.

1. Vysílání

Broadcasting je výkonná funkce NumPy, která vám umožňuje provádět operace na polích různých tvarů a velikostí. Funguje tak, že automaticky rozšíří rozměry menšího pole tak, aby odpovídalo většímu poli, což usnadňuje provádění operací po prvcích.

Zde je příklad:

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

V tomto příkladu je 1D pole A vysíláno tak, aby odpovídalo tvaru 2D pole B, což umožňuje přidávání prvků.

Numpy Cheat Sheet: Základní analýza dat v Pythonu

Při práci s vysíláním mějte na paměti tato pravidla:

  • Rozměry polí musí být kompatibilní (buď stejná velikost nebo jedna z nich je 1).

  • Vysílání je aplikováno od koncových rozměrů a pracuje směrem k předním rozměrům.

2. Lineární algebra

NumPy poskytuje několik funkcí lineární algebry, které mohou být užitečné při práci s vícerozměrnými poli. Některé z těchto funkcí zahrnují:

  • np.dot(A, B): Vypočítá bodový součin dvou polí.

  • np.linalg.inv(A) : Vypočítá inverzní hodnotu čtvercové matice.

  • np.linalg.eig(A) : Vypočítá vlastní hodnoty a vlastní vektory čtvercové matice.

  • np.linalg.solve(A, B): Řeší lineární systém rovnic, kde A je matice koeficientů a B je konstantní matice.

Před provedením těchto operací nezapomeňte vždy zkontrolovat, zda jsou vaše matice kompatibilní .

Vstup a výstup

V této části prozkoumáme, jak ukládat a načítat pole, a také jak číst a zapisovat soubory pomocí NumPy.

1. Ukládání a načítání polí

Chcete-li pole uložit, můžete použít funkci np.save() od NumPy. Tato funkce bere jako dva hlavní argumenty název souboru a pole.

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

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

Chcete-li načíst uložené pole, použijte funkci np.load() a jako argument uveďte název souboru.

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

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

Můžete také uložit a načíst více polí pomocí funkcí np.save() a np.load() .

2. Čtení a zápis do textových souborů

NumPy poskytuje funkce pro čtení a zápis textových souborů s poli, jako je np.loadtxt() a np.savetxt() . Tyto funkce můžete použít k ukládání a načítání dat z formátů souborů, jako je soubor txt nebo CSV.

Chcete-li načíst textový soubor do pole, použijte funkci np.loadtxt() . Jako hlavní argument bere název souboru a také podporuje volitelné argumenty pro určení oddělovače, dtype a dalších.

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

Chcete-li načíst data ze souboru CSV, můžete také použít funkci np.loadtxt() . Ujistěte se však, že oddělovač je vždy nastaven na čárku „ , .

Chcete-li zapsat pole do textového souboru, použijte funkci np.savetxt() . Tato funkce bere název souboru a pole jako dva hlavní argumenty, za nimiž následují volitelné argumenty, jako je oddělovač a záhlaví.

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

Tyto vstupní a výstupní funkce vám umožňují efektivně pracovat s poli a textovými soubory ve vašich úlohách zpracování dat a manipulace pomocí NumPy.

Níže si stáhněte svůj Cheat Sheet

Závěrečné myšlenky

No, to je vše, co potřebujete vědět, abyste mohli začít s knihovnou Numpy Python! Při práci s knihovnou můžete také použít cheat pro Python Numpy jako praktickou referenci.

Pro pokročilejší funkce se můžete podívat na dokumentaci NumPy . Můžete se také podívat na tuto zábavu, kterou jsme dali dohromady pro nové i zkušené vývojáře.

Hodně štěstí!


Vytvoření tabulky data v LuckyTemplates

Vytvoření tabulky data v LuckyTemplates

Zjistěte, proč je důležité mít vyhrazenou tabulku s daty v LuckyTemplates, a naučte se nejrychlejší a nejefektivnější způsob, jak toho dosáhnout.

LuckyTemplates Mobile Reporting Tipy a techniky

LuckyTemplates Mobile Reporting Tipy a techniky

Tento stručný návod zdůrazňuje funkci mobilního hlášení LuckyTemplates. Ukážu vám, jak můžete efektivně vytvářet přehledy pro mobily.

Profesionální servisní analytické zprávy v LuckyTemplates

Profesionální servisní analytické zprávy v LuckyTemplates

V této ukázce LuckyTemplates si projdeme sestavy ukazující profesionální analýzy služeb od firmy, která má více smluv a zákaznických vztahů.

Aktualizácie Microsoft Power Platform | Microsoft Ignite 2021

Aktualizácie Microsoft Power Platform | Microsoft Ignite 2021

Pozrite si kľúčové aktualizácie pre Power Apps a Power Automate a ich výhody a dôsledky pre platformu Microsoft Power Platform.

Bežné funkcie SQL: Prehľad

Bežné funkcie SQL: Prehľad

Objavte niektoré bežné funkcie SQL, ktoré môžeme použiť, ako napríklad reťazec, dátum a niektoré pokročilé funkcie na spracovanie alebo manipuláciu s údajmi.

Vytvoření šablony LuckyTemplates: Průvodce a tipy

Vytvoření šablony LuckyTemplates: Průvodce a tipy

V tomto tutoriálu se naučíte, jak vytvořit dokonalou šablonu LuckyTemplates, která je nakonfigurována podle vašich potřeb a preferencí.

Parametry pole a malé násobky v LuckyTemplates

Parametry pole a malé násobky v LuckyTemplates

V tomto blogu si ukážeme, jak vrstvit parametry pole s malými násobky, abychom vytvořili neuvěřitelně užitečné přehledy a vizuály.

LuckyTemplates Rank a vlastní seskupení

LuckyTemplates Rank a vlastní seskupení

V tomto blogu se dozvíte, jak používat funkce hodnocení LuckyTemplates a vlastní seskupování k segmentaci ukázkových dat a jejich seřazení podle kritérií.

Zobrazení kumulativního součtu pouze do určitého data v LuckyTemplates

Zobrazení kumulativního součtu pouze do určitého data v LuckyTemplates

V tomto tutoriálu se budu zabývat konkrétní technikou, jak zobrazit kumulativní součet pouze do určitého data ve vašich vizuálech v LuckyTemplates.

Bullet Charts: Pokročilé vlastní vizuální prvky pro LuckyTemplates

Bullet Charts: Pokročilé vlastní vizuální prvky pro LuckyTemplates

Naučte se vytvářet a přizpůsobovat Bullet grafy v LuckyTemplates, které se používají hlavně pro měření výkonu oproti cílovým nebo předchozím rokům.