Ce este Sinele în Python: Exemple din lumea reală
Ce este Sinele în Python: Exemple din lumea reală
În calitate de cercetător de date care lucrează cu Python, cel mai probabil ați întâlnit biblioteca NumPy . Este unul dintre pachetele de bază pentru calculul științific în Python .
Cu capacitatea sa de a efectua operațiuni de înaltă performanță pe rețele multidimensionale, NumPy este un instrument esențial pentru oricine se scufundă în știința datelor sau în calculul numeric în Python.
O foaie de cheat NumPy poate fi o resursă excelentă pentru a vă ghida călătoria în această bibliotecă Python. O foaie de cheat cuprinzătoare vă va ajuta să navigați prin funcțiile NumPy și să deveniți rapid priceput în utilizarea acestuia pentru diverse sarcini!
De asemenea, rețineți că NumPy se află în centrul bibliotecilor importante, cum ar fi Pandas, SciPy, sci-kit-learn și alte pachete Python.
Prin stăpânirea elementelor de bază cu ajutorul foii de cheat Python NumPy , veți fi mai bine echipat pentru a lucra cu aceste biblioteci. De asemenea, vă veți dezvolta abilitățile în manipularea structurilor complexe de date și a calculelor.
Sunteți de la școală veche (ca noi) și doriți să descărcați și, eventual, să vă imprimați foaia de cheat sheet?
Derulați în jos pentru a face acest lucru.
Cuprins
Bazele NumPy
În această secțiune, vom acoperi elementele de bază ale NumPy, concentrându-ne pe instalarea NumPy, crearea matricei, atributele matricei și tipurile de date. Aceste concepte vor oferi o bază solidă pentru înțelegerea și utilizarea eficientă a NumPy în proiectele dvs. de știință a datelor Python.
1. Instalarea și importarea NumPy
Puteți instala NumPy din linia de comandă folosind comanda de mai jos:
pip install numpy
După ce este instalat, importați-l în codul dvs.
import numpy as np
Rețineți că puteți utiliza orice alt nume în afară de np . Cu toate acestea, np este convenția standard de import NumPy folosită de majoritatea dezvoltatorilor și cercetătorilor de date.
2. Crearea matricei
Crearea de tablouri în NumPy este simplă și directă. Puteți crea matrice din liste sau tupluri folosind funcția 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
De asemenea, puteți genera matrice de forme și valori specifice utilizând diverse funcții:
np.zeros() : creează o matrice plină cu zerouri
np.ones() : creează o matrice plină cu unele
np.identity() : creează o matrice de matrice de identitate.
np.empty() : creează o matrice fără a-și inițializa elementele la o anumită valoare
np.arange() : creează o matrice cu valori distanțate în mod regulat între o valoare de început și de sfârșit
np.linspace() : creează o matrice cu un număr specificat de valori distanțate uniform între o valoare de început și de sfârșit
Notă: Nu puteți genera o matrice goală în NumPy. Fiecare matrice NumPy are o dimensiune fixă, imuabilă și fiecare element din matrice trebuie completat atunci când matricea este creată.
Funcția np.empty() creează forma de matrice necesară și o umple cu valori aleatorii. Metoda implicită creează o serie de floatoare aleatorii.
Puteți crea un alt tip de date matrice folosind parametrul dtype .
3. Atribute de matrice
Matricele NumPy au mai multe atribute care oferă informații utile despre matrice. Să ne uităm la unele dintre ele:
ndarray.shape: returnează dimensiunile matricei ca tuplu (rânduri, coloane)
ndarray.ndim: Returnează numărul de dimensiuni din matrice
ndarray.size: Returnează numărul total de elemente din matrice
ndarray.dtype: Returnează tipul de date al elementelor matricei
Pentru a accesa aceste atribute, utilizați notația cu puncte, astfel:
a = np.array([(1, 2, 3), (4, 5, 6)])
#Print out the array shape
print(a.shape) # Output: (2, 3)
4. Tipuri de date
NumPy oferă mai multe tipuri de date pentru stocarea datelor în matrice, cum ar fi întreg, șir, float, boolean și complex. În mod implicit, NumPy încearcă să deducă tipul de date pe baza elementelor de intrare.
Cu toate acestea, puteți specifica în mod explicit tipul de date folosind cuvântul cheie dtype . De exemplu:
import numpy as np
a = np.array([1, 2, 3], dtype=float) # Creates an array of floats
Tipurile obișnuite de date NumPy includ:
np.int32 : întreg pe 32 de biți
np.int64: întreg pe 64 de biți
np.float32: număr în virgulă mobilă pe 32 de biți
np.float64: număr în virgulă mobilă pe 64 de biți
np.complex: număr complex, reprezentat de două numere în virgulă mobilă de 64 de biți
De asemenea, puteți converti matrice de la un tip de date la altul. În acest exemplu, iată cum putem converti matricea Integer a într-o matrice booleană arr folosind metoda np.array() .
Din exemplu, putem vedea că metoda array() convertește elementele matricei în valori booleene. Aceste valori booleene formează apoi noua matrice NumPy arr.
Înțelegerea acestor concepte de bază ale NumPy vă va permite să lucrați eficient cu matrice și să efectuați o varietate de operații matematice NumPy. De exemplu, puteți vedea videoclipul nostru despre cum să transformați și să codificați adresele în Python.
În el, am folosit tipurile de date Python Pandas și NumPy pentru a geocoda adresele de acasă.
Manipularea matricei
În această secțiune, veți afla despre diverse tehnici de manipulare a formei matricei în NumPy. Vom discuta despre remodelarea, concatenarea, copierea, împărțirea, adăugarea/eliminarea elementelor, indexarea și tăierea.
Aceste tehnici sunt cruciale pentru lucrul eficient cu datele matrice în proiectele dvs. de știință a datelor.
Să ne scufundăm în fiecare sub-secțiune.
1. Remodelarea
Reformarea unei matrice în NumPy este o sarcină comună pe care o veți efectua. Este posibil să trebuiască să schimbați forma matricei pentru a se potrivi cu cerințele unei funcții sau ale unui algoritm.
Pentru a remodela o matrice, utilizați funcția reshape() :
arr = np.array([1, 2, 3, 4, 5, 6])
new_arr = arr.reshape(2, 3)
Aceasta va converti matricea dvs. unidimensională într-o matrice bidimensională cu 2 rânduri și 3 coloane.
Notă: Asigurați-vă că noua formă pe care o furnizați are aceeași dimensiune (număr de elemente ale matricei) ca și matricea originală.
2. Copierea
Puteți copia elementele dintr-o matrice NumPy în alta folosind metoda copy() . Trebuie să rețineți că utilizarea operatorului de atribuire „=” creează o copie superficială.
#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]
Noua matrice face referire doar la vechea matrice din memoria sistemului. Conțin aceleași elemente și nu sunt independente unul de celălalt.
Folosind copia profundă, creați o nouă matrice NumPy care conține aceleași date ca și cea veche, în timp ce sunteți independent de aceasta.
#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. Concatenare
Ocazional, poate fi necesar să îmbinați două matrice într-una singură. În NumPy, puteți utiliza funcția concatenate() pentru a uni matrice de-a lungul unei axe existente:
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
result = np.concatenate((arr1, arr2))
Aceasta combină arr1 și arr2 într-o singură matrice. Rețineți că tablourile care sunt concatenate ar trebui să aibă aceeași formă, cu excepția axei specificate.
4. Împărțirea
Împărțirea este opusul concatenării. Puteți împărți o matrice în sub-matrice mai mici folosind funcția split():
arr = np.array([1, 2, 3, 4, 5, 6])
result = np.split(arr, 3)
Aceasta împarte matricea în 3 sub-matrice de dimensiuni egale. Asigurați-vă că numărul de împărțiri pe care îl specificați poate împărți uniform dimensiunea matricei de-a lungul axei date.
5. Adăugarea/eliminarea elementelor
Adăugarea sau eliminarea elementelor dintr-o matrice NumPy poate fi realizată folosind funcțiile append() și delete() . Puteți utiliza primul pentru a adăuga valori la sfârșitul matricei, în timp ce cel din urmă șterge elementul de la un index specificat.
Iată un exemplu:
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
Rețineți că tablourile NumPy au o dimensiune fixă. Când utilizați append() sau delete(), este creată o nouă matrice, iar cea originală nu este modificată.
6. Indexare
Puteți efectua operațiuni de indexare pe tablourile NumPy în același mod în care le-ați face pe liste sau tuplu Python. Să vedem cum puteți accesa sau modifica elementele matricei dintr-o matrice dată.
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. Tăiere
De asemenea, puteți tăia matrice NumPy pentru a extrage sau a vizualiza o secțiune a datelor în același mod în care ați face liste sau seturi Python . Să aruncăm o privire la un exemplu de mai jos:
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]
Note: Slicing creates a shallow copy that still references the main array. So, any change you make to the sliced data will be applied to the main array and vice versa.
To avoid this, you can use the copy() method to create a deep, independent copy.
Elementary Functions
In this section, you’ll learn about different elementary functions in NumPy, which will ease your data analysis tasks. We’ll cover arithmetic operations, trigonometry, and exponents and logarithms.
1. Arithmetic Operations
NumPy offers various math operations on arrays that make them simple and efficient to work with. array mathematics vector math
Some of the operations are:
Addition: numpy.add(x1, x2)
Subtraction: numpy.subtract(x1, x2)
Multiplication: numpy.multiply(x1, x2)
Division: numpy.divide(x1, x2)
Modulus: numpy.mod(x1, x2)
Power: numpy.power(x1, x2)
Square root: numpy.sqrt(x)
Note: When using these operations, the two arrays must be the same shape. If not, you’ll run into errors.
There is an exception for certain arrays thanks to a NumPy feature called broadcasting. We’ll cover that in a later section.
You can perform these operations element-wise on the arrays, which makes them highly efficient for large-scale data manipulation.
2. Trigonometry
Trigonometric functions play a significant role in various mathematical and scientific computations. NumPy provides a wide range of trigonometric functions.
Some of the essential functions are:
Sine: numpy.sin(x)
Cosine: numpy.cos(x)
Tangent: numpy.tan(x)
Arcsine: numpy.arcsin(x)
Arccosine: numpy.arccos(x)
Arctangent: numpy.arctan(x)
These functions work seamlessly with arrays, making it easier for you to perform vectorized computations on large datasets.
3. Exponents and Logarithms
Exponents and logarithms are crucial for various numerical operations. NumPy provides an extensive collection of functions for dealing with exponents and logarithms.
Some of the primary functions are:
Exponential: numpy.exp(x)
Logarithm(base e): numpy.log(x)
Logarithm(base 10): numpy.log10(x)
Logarithm(base 2): numpy.log2(x)
Utilizing these functions, you can quickly perform complex mathematical operations on each element in the array. This makes your data analysis tasks more accessible and efficient.
Array Analysis
In this section, we will discuss various techniques to analyze arrays and array elements in NumPy. Some of the key features we will cover include aggregate functions, statistical functions, searching, and sorting.
1. Aggregate Functions
NumPy provides several aggregate functions that allow you to perform operations on arrays, such as summing all their elements, finding the minimum or maximum value, and more:
sum: np.sum(your_array) – Calculate the sum of all the elements in the array.
min: np.min(your_array) – Find the minimum array element.
max: np.max(your_array) – Find the maximum array element.
mean : np.mean(your_array) – Calculați media valorilor din matrice.
median : np.median(your_array) – Găsiți mediana valorilor din matrice.
2. Funcții statistice
NumPy are, de asemenea, o varietate de funcții statistice pentru a vă ajuta să analizați datele:
std: np.std(your_array) – Calculați abaterea standard a valorilor din matrice.
var: np.var(your_array) – Calculați varianța valorilor din matrice.
corrcoef : np.corrcoef(your_array) – Calculați coeficientul de corelație al matricei.
3. Căutarea
Căutarea în matrice NumPy se poate face folosind diferite metode:
argmin: np.argmin(your_array) – Găsiți indexul elementului minim de matrice.
argmax: np.argmax(your_array) – Găsiți indexul elementului de matrice maximă.
unde: np.where(condition) – Returnează indicii elementelor din tablou care satisfac condiția dată.
4. Sortarea
Puteți sorta elementele din matrice folosind următoarele funcții:
sort : np.sort(your_array) – Sortează elementele din matrice în ordine crescătoare.
argsort: np.argsort(your_array) – Returnează indicii care ar sorta matricea.
Cu aceste funcții și tehnici, puteți analiza și manipula în mod convenabil matricele dvs. NumPy pentru a descoperi informații valoroase și pentru a vă sprijini eforturile de analiză a datelor.
Funcții avansate
În această secțiune, vom explora câteva funcții avansate din NumPy pentru a vă ajuta să lucrați mai eficient cu datele dvs. Vom acoperi funcțiile Broadcasting și Linear Algebra.
1. Difuzare
Broadcasting este o caracteristică puternică NumPy care vă permite să efectuați operațiuni pe matrice cu diferite forme și dimensiuni. Funcționează prin extinderea automată a dimensiunilor matricei mai mici pentru a se potrivi cu matricea mai mare, facilitând efectuarea operațiunilor în funcție de elemente.
Iată un exemplu:
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
În acest exemplu, matricea 1D A este difuzată pentru a se potrivi cu forma matricei 2D B, permițând adăugarea elementelor.
Țineți cont de aceste reguli atunci când lucrați cu difuzarea:
Dimensiunile matricelor trebuie să fie compatibile (fie aceeași dimensiune, fie una dintre ele este 1).
Difuzarea se aplică de la dimensiunile finale și funcționează către dimensiunile de conducere.
2. Algebră liniară
NumPy oferă mai multe funcții de algebră liniară care pot fi utile atunci când lucrați cu tablouri multidimensionale. Unele dintre aceste funcții includ:
np.dot(A, B): Calculează produsul punctual al două tablouri.
np.linalg.inv(A) : Calculează inversul unei matrice pătrate.
np.linalg.eig(A) : Calculează valorile proprii și vectorii proprii ai unei matrice pătrate.
np.linalg.solve(A, B): Rezolvă un sistem liniar de ecuații, unde A este matricea coeficienților și B este matricea constantă.
Nu uitați să verificați întotdeauna dacă matricele sunt compatibile înainte de a efectua aceste operații.
Intrare și ieșire
În această secțiune, vom explora cum să salvăm și să încărcăm matrice, precum și cum să citim și să scriem fișiere folosind NumPy.
1. Salvarea și încărcarea matricelor
Pentru a salva o matrice, puteți utiliza funcția np.save() a lui NumPy. Această funcție ia numele fișierului și matricea drept două argumente principale.
import numpy as np
arr = np.array([1, 2, 3])
np.save('my_array.npy', arr)
Pentru a încărca matricea salvată, utilizați funcția np.load() , furnizând numele fișierului ca argument.
loaded_array = np.load('my_array.npy')
print(loaded_array)
# Output: array([1, 2, 3])
De asemenea, puteți salva și încărca mai multe matrice folosind funcțiile np.save() și np.load() .
2. Citirea și scrierea în fișiere text
NumPy oferă funcții pentru a citi și scrie fișiere text cu matrice, cum ar fi np.loadtxt() și np.savetxt() . Puteți utiliza aceste funcții pentru a salva și încărca date din formate de fișiere, cum ar fi un fișier txt sau CSV.
Pentru a citi un fișier text într-o matrice, utilizați funcția np.loadtxt() . Acesta ia numele fișierului ca argument principal și, de asemenea, acceptă argumente opționale pentru specificarea delimitatorului, dtype și altele.
arr_from_txt = np.loadtxt('data.txt', delimiter=',')
print(arr_from_txt)
Pentru a citi datele dintr-un fișier CSV, puteți utiliza și funcția np.loadtxt() . Cu toate acestea, asigurați-vă că delimitatorul este întotdeauna setat la virgulă, „ , „.
Pentru a scrie o matrice într-un fișier text, utilizați funcția np.savetxt() . Această funcție ia numele fișierului și matricea ca două argumente principale, urmate de argumente opționale, cum ar fi delimitator și antet.
arr_to_txt = np.array([[1, 2, 3], [4, 5, 6]])
np.savetxt('output_data.txt', arr_to_txt, delimiter=',')
Aceste funcții de intrare și ieșire vă permit să lucrați eficient cu matrice și fișiere text în sarcinile de prelucrare și manipulare a datelor folosind NumPy.
Descărcați Cheat Sheet de mai jos
Gânduri finale
Ei bine, asta este tot ce trebuie să știți pentru a începe cu biblioteca Numpy Python! De asemenea, puteți utiliza foaia de cheat Python Numpy ca referință utilă atunci când lucrați cu biblioteca.
Pentru funcții mai avansate, puteți consulta documentația NumPy . De asemenea, puteți consulta această fișă distractivă Python Cheat pe care am creat-o atât pentru dezvoltatorii noi, cât și pentru cei experimentați.
Noroc!
Ce este Sinele în Python: Exemple din lumea reală
Veți învăța cum să salvați și să încărcați obiecte dintr-un fișier .rds în R. Acest blog va trata, de asemenea, cum să importați obiecte din R în LuckyTemplates.
În acest tutorial despre limbajul de codare DAX, aflați cum să utilizați funcția GENERATE și cum să schimbați în mod dinamic titlul unei măsuri.
Acest tutorial va acoperi cum să utilizați tehnica Multi Threaded Dynamic Visuals pentru a crea informații din vizualizările dinamice de date din rapoartele dvs.
În acest articol, voi trece prin contextul filtrului. Contextul de filtrare este unul dintre subiectele majore despre care orice utilizator LuckyTemplates ar trebui să învețe inițial.
Vreau să arăt cum serviciul online LuckyTemplates Apps poate ajuta la gestionarea diferitelor rapoarte și informații generate din diverse surse.
Aflați cum să vă calculați modificările marjei de profit folosind tehnici precum măsurarea ramificării și combinarea formulelor DAX în LuckyTemplates.
Acest tutorial va discuta despre ideile de materializare a cache-urilor de date și despre modul în care acestea afectează performanța DAX-ului în furnizarea de rezultate.
Dacă încă utilizați Excel până acum, atunci acesta este cel mai bun moment pentru a începe să utilizați LuckyTemplates pentru nevoile dvs. de raportare a afacerii.
Ce este LuckyTemplates Gateway? Tot ce trebuie să știți