Numpy Cheat Sheet: essentiële gegevensanalyse in Python

Numpy Cheat Sheet: essentiële gegevensanalyse in Python

Numpy Cheat Sheet: essentiële gegevensanalyse in Python

Als datawetenschapper die met Python werkt, bent u waarschijnlijk de NumPy-bibliotheek tegengekomen . Het is een van de basispakketten voor wetenschappelijk computergebruik in Python .

Met zijn vermogen om krachtige bewerkingen uit te voeren op multidimensionale arrays, is NumPy een essentiële tool voor iedereen die in Python duikt in datawetenschap of numeriek computergebruik.

Een NumPy-spiekbriefje kan een uitstekende hulpbron zijn om je reis naar deze Python-bibliotheek te begeleiden. Een uitgebreid spiekbriefje helpt u bij het navigeren door de functies van NumPy en wordt snel bedreven in het gebruik ervan voor verschillende taken!

Onthoud ook dat NumPy de kern vormt van belangrijke bibliotheken zoals Panda's, SciPy, sci-kit-learn en andere Python-pakketten.

Door de basis onder de knie te krijgen met behulp van de Python NumPy spiekbriefje , ben je beter uitgerust om met deze bibliotheken te werken. Je verbetert ook je vaardigheden in het omgaan met complexe datastructuren en berekeningen.

Ben je ouderwets (zoals wij) en wil je je spiekbriefje downloaden en mogelijk afdrukken?

Scroll naar beneden om dit te doen.

Inhoudsopgave

NumPy-basis

In deze sectie behandelen we de basisprincipes van NumPy, met de nadruk op het installeren van NumPy, het maken van arrays, array-attributen en gegevenstypen. Deze concepten bieden een solide basis voor het begrijpen en effectief gebruiken van NumPy in uw Python-datawetenschapsprojecten.

1. NumPy installeren en importeren

U kunt NumPy vanaf de opdrachtregel installeren met behulp van de onderstaande opdracht:

pip install numpy

Zodra het is geïnstalleerd, importeert u het in uw code.

import numpy as np

Houd er rekening mee dat u elke andere naam dan np kunt gebruiken . np is echter de standaard NumPy-importconventie die door de meeste ontwikkelaars en datawetenschappers wordt gebruikt.

2. Array-creatie

Het maken van arrays in NumPy is eenvoudig en ongecompliceerd. U kunt arrays maken van lijsten of tuples met behulp van de numpy.array() functie:

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

U kunt ook arrays van specifieke vormen en waarden genereren met behulp van verschillende functies:

  • np.zeros() : Creëert een array gevuld met nullen

  • np.ones() : Creëert een array gevuld met enen

  • np.identity() : Creëert een identiteitsmatrixarray.

  • np.empty() : Creëert een array zonder de elementen naar een bepaalde waarde te initialiseren

  • np.arange() : Creëert een array met regelmatig verdeelde waarden tussen een begin- en eindwaarde

  • np.linspace() : Creëert een array met een opgegeven aantal gelijkmatig verdeelde waarden tussen een begin- en eindwaarde

Numpy Cheat Sheet: essentiële gegevensanalyse in Python

Opmerking: u kunt geen lege array genereren in NumPy. Elke NumPy-array heeft een vaste, onveranderlijke grootte en elk element in de array moet worden ingevuld wanneer de array wordt gemaakt.

De functie np.empty() maakt de vereiste matrixvorm en vult deze met willekeurige waarden. De standaardmethode maakt een reeks willekeurige floats aan.

U kunt een ander array-datatype maken met behulp van de parameter dtype .

3. Array-attributen

NumPy-arrays hebben verschillende kenmerken die nuttige informatie over de array bieden. Laten we er een paar bekijken:

  • ndarray.shape: Retourneert de afmetingen van de array als een tuple (rijen, kolommen)

  • ndarray.ndim: Retourneert het aantal dimensies in de array

  • ndarray.size: Retourneert het totale aantal elementen in de array

  • ndarray.dtype: Retourneert het gegevenstype van de array-elementen

Gebruik de puntnotatie om toegang te krijgen tot deze attributen, zoals:

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

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

Numpy Cheat Sheet: essentiële gegevensanalyse in Python

4. Gegevenstypen

NumPy biedt verschillende gegevenstypen om gegevens in arrays op te slaan, zoals integer, string, float, boolean en complex. NumPy probeert standaard het gegevenstype af te leiden op basis van de invoerelementen.

U kunt het gegevenstype echter ook expliciet specificeren met behulp van het sleutelwoord dtype . Bijvoorbeeld:

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

Algemene NumPy-gegevenstypen zijn onder meer:

  • np.int32 : 32-bits geheel getal

  • np.int64: 64-bits geheel getal

  • np.float32: 32-bits getal met drijvende komma

  • np.float64: 64-bits getal met drijvende komma

  • np.complex: Complex getal, vertegenwoordigd door twee 64-bits getallen met drijvende komma

U kunt ook arrays van het ene gegevenstype naar het andere converteren. In dit voorbeeld laten we als volgt zien hoe we de Integer-array a kunnen converteren naar een Booleaanse array arr met behulp van de methode np.array() .

Numpy Cheat Sheet: essentiële gegevensanalyse in Python

Uit het voorbeeld kunnen we zien dat de methode array() de array-elementen converteert naar booleaanse waarden. Deze booleaanse waarden vormen vervolgens de nieuwe NumPy-array arr.

Als u deze basisconcepten van NumPy begrijpt, kunt u effectief met arrays werken en een verscheidenheid aan wiskundige NumPy-bewerkingen uitvoeren. U kunt bijvoorbeeld onze video bekijken over het transformeren en coderen van adressen in Python.

Daarin gebruikten we Python Panda's en NumPy-gegevenstypen om thuisadressen te geocoderen.

Array-manipulatie

In deze sectie leert u over verschillende technieken voor het manipuleren van matrixvormen in NumPy. We bespreken hervormen, aaneenschakelen, kopiëren, splitsen, elementen toevoegen/verwijderen, indexeren en slicen.

Deze technieken zijn cruciaal voor het effectief werken met array-data in uw data science-projecten.

Laten we in elke subsectie duiken.

1. Hervormen

Het hervormen van een array in NumPy is een veel voorkomende taak die u zult uitvoeren. Mogelijk moet u de vorm van uw array wijzigen om te voldoen aan de vereisten van een functie of een algoritme.

Gebruik de functie reshape() om een ​​array opnieuw vorm te geven :

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

Hiermee wordt uw eendimensionale array omgezet in een tweedimensionale array met 2 rijen en 3 kolommen.

Numpy Cheat Sheet: essentiële gegevensanalyse in Python

Opmerking: zorg ervoor dat de nieuwe vorm die u opgeeft dezelfde grootte heeft (aantal array-elementen) als de oorspronkelijke array.

2. Kopiëren

U kunt de elementen in de ene NumPy-array naar een andere kopiëren met behulp van de methode copy() . Houd er rekening mee dat het gebruik van de toewijzingsoperator '=' een ondiepe kopie maakt.

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

De nieuwe array verwijst alleen naar de oude array in het systeemgeheugen. Ze bevatten dezelfde elementen en zijn niet onafhankelijk van elkaar.

Door de diepe kopie te gebruiken, maakt u een nieuwe NumPy-array die dezelfde gegevens bevat als de oude terwijl u er onafhankelijk van bent.

#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. Aaneenschakeling

Het kan soms nodig zijn om twee arrays samen te voegen tot één array. In NumPy kunt u de functie concatenate() gebruiken om arrays langs een bestaande as samen te voegen:

import numpy as np

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

Dit combineert arr1 en arr2 in een enkele array. Houd er rekening mee dat de aaneengeschakelde arrays dezelfde vorm moeten hebben, behalve langs de opgegeven as.

4. Splitsen

Splitsen is het tegenovergestelde van concatenatie. U kunt een array opsplitsen in kleinere subarrays met behulp van de split() functie:

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

Dit splitst de array op in 3 subarrays van gelijke grootte. Zorg ervoor dat het aantal splitsingen dat u opgeeft, de grootte van de array gelijkmatig langs de gegeven as kan verdelen.

Numpy Cheat Sheet: essentiële gegevensanalyse in Python

5. Elementen toevoegen/verwijderen

Het toevoegen of verwijderen van elementen in een NumPy-array kan worden bereikt met behulp van de functies append() en delete() . U kunt de eerste gebruiken om waarden aan het einde van de array toe te voegen, terwijl de laatste het element op een opgegeven index verwijdert.

Hier is een voorbeeld:

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

Houd er rekening mee dat NumPy-arrays een vaste grootte hebben. Wanneer u append() of delete() gebruikt, wordt een nieuwe array gemaakt en wordt de oorspronkelijke niet gewijzigd.

6. Indexering

U kunt indexeringsbewerkingen op NumPy-arrays op dezelfde manier uitvoeren als op Python-lijsten of tuples. Laten we eens kijken hoe u array-elementen in een bepaalde array kunt openen of wijzigen.

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. Snijden

U kunt ook NumPy-arrays segmenteren om een ​​gedeelte van de gegevens te extraheren of te bekijken op dezelfde manier als Python- lijsten of -sets . Laten we eens kijken naar een voorbeeld hieronder:

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)

Numpy Cheat Sheet: essentiële gegevensanalyse in Python

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) – Bereken het gemiddelde van de waarden in de array.

  • mediaan : np.median(your_array) – Zoek de mediaan van de waarden in de array.

Numpy Cheat Sheet: essentiële gegevensanalyse in Python

2. Statistische functies

NumPy heeft ook verschillende statistische functies om u te helpen bij het analyseren van gegevens:

  • std: np.std(your_array) – Bereken de standaarddeviatie van de waarden in de array.

  • var: np.var(your_array) – Bereken de variantie van de waarden in de array.

  • corrcoef : np.corrcoef(your_array) – Bereken de correlatiecoëfficiënt van de array.

3. Zoeken

Zoeken in NumPy-arrays kan op verschillende manieren worden gedaan:

  • argmin: np.argmin(your_array) – Zoek de index van het minimale array-element.

  • argmax: np.argmax(your_array) – Zoek de index van het maximale array-element.

  • waar: np.where(condition) – Retourneert de indices van elementen in de array die voldoen aan de gegeven voorwaarde.

4. Sorteren

U kunt de elementen in uw array sorteren met behulp van de volgende functies:

  • sort : np.sort(your_array) – Sorteer de elementen in de array in oplopende volgorde.

  • argsort: np.argsort(your_array) – Retourneert de indexen die de array zouden sorteren.

Met deze functies en technieken kunt u uw NumPy-arrays gemakkelijk analyseren en manipuleren om waardevolle inzichten te ontdekken en uw inspanningen voor gegevensanalyse te ondersteunen.

Geavanceerde functies

In deze sectie zullen we enkele geavanceerde functies in NumPy verkennen om u te helpen efficiënter met uw gegevens te werken. We behandelen de functies Broadcasting en Linear Algebra.

1. Uitzending

Broadcasting is een krachtige NumPy-functie waarmee u bewerkingen kunt uitvoeren op arrays met verschillende vormen en formaten. Het werkt door de afmetingen van de kleinere array automatisch uit te breiden zodat deze overeenkomen met de grotere array, waardoor het eenvoudiger wordt om elementgewijze bewerkingen uit te voeren.

Hier is een voorbeeld:

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

In dit voorbeeld wordt de 1D-array A uitgezonden om overeen te komen met de vorm van de 2D-array B, waardoor elementgewijze toevoeging mogelijk is.

Numpy Cheat Sheet: essentiële gegevensanalyse in Python

Houd deze regels in gedachten bij het werken met uitzenden:

  • De afmetingen van de arrays moeten compatibel zijn (ofwel dezelfde grootte of een ervan is 1).

  • Broadcasting wordt toegepast vanuit de achterliggende dimensies en werkt toe naar de leidende dimensies.

2. Lineaire algebra

NumPy biedt verschillende lineaire algebrafuncties die handig kunnen zijn bij het werken met multidimensionale arrays. Enkele van deze functies zijn:

  • np.dot(A, B): Berekent het puntproduct van twee arrays.

  • np.linalg.inv(A) : Berekent de inverse van een vierkante matrix.

  • np.linalg.eig(A) : Berekent de eigenwaarden en eigenvectoren van een vierkante matrix.

  • np.linalg.solve(A, B): Lost een lineair systeem van vergelijkingen op, waarbij A de coëfficiëntenmatrix is ​​en B de constante matrix.

Vergeet niet om altijd te controleren of uw matrices compatibel zijn voordat u deze bewerkingen uitvoert.

Input en output

In deze sectie zullen we onderzoeken hoe u arrays kunt opslaan en laden, en hoe u bestanden kunt lezen en schrijven met NumPy.

1. Arrays opslaan en laden

Om een ​​array op te slaan, kunt u de functie np.save() van NumPy gebruiken . Deze functie neemt de bestandsnaam en de array als twee hoofdargumenten.

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

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

Gebruik de functie np.load() om de opgeslagen array te laden , waarbij u de bestandsnaam als argument opgeeft.

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

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

U kunt ook meerdere arrays opslaan en laden met de functies np.save() en np.load() .

2. Lezen en schrijven naar tekstbestanden

NumPy biedt functies voor het lezen en schrijven van tekstbestanden met arrays, zoals np.loadtxt() en np.savetxt() . U kunt deze functies gebruiken om gegevens uit bestandsindelingen zoals een txt- of CSV-bestand op te slaan en te laden.

Gebruik de functie np.loadtxt() om een ​​tekstbestand in een array in te lezen . Het neemt de bestandsnaam als hoofdargument en ondersteunt ook optionele argumenten voor het specificeren van scheidingstekens, dtype en meer.

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

Om de gegevens uit een CSV-bestand te lezen, kunt u ook de functie np.loadtxt() gebruiken . Zorg er echter voor dat het scheidingsteken altijd is ingesteld op de komma, " , ".

Gebruik de functie np.savetxt() om een ​​array naar een tekstbestand te schrijven . Deze functie neemt de bestandsnaam en de array als twee hoofdargumenten, gevolgd door optionele argumenten, zoals scheidingsteken en koptekst.

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

Met deze invoer- en uitvoerfuncties kunt u efficiënt werken met arrays en tekstbestanden in uw gegevensverwerkings- en manipulatietaken met behulp van NumPy.

Download hieronder uw spiekbriefje

Numpy cheatsheet downloaden

Laatste gedachten

Nou, dat is alles wat je moet weten om aan de slag te gaan met de Numpy Python-bibliotheek! U kunt ook het spiekbriefje van Python Numpy gebruiken als handig naslagwerk bij het werken met de bibliotheek.

Voor meer geavanceerde functies kunt u de NumPy-documentatie raadplegen . Je kunt ook deze leuke Python Cheat sheet bekijken die we hebben samengesteld voor zowel nieuwe als ervaren ontwikkelaars.

Succes!


Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Een RDS-bestand opslaan en laden in R

Een RDS-bestand opslaan en laden in R

Je leert hoe je objecten uit een .rds-bestand in R opslaat en laadt. In deze blog wordt ook besproken hoe je objecten uit R naar LuckyTemplates importeert.

First N Business Days Revisited – Een DAX-coderingstaaloplossing

First N Business Days Revisited – Een DAX-coderingstaaloplossing

In deze tutorial over DAX-coderingstaal leert u hoe u de functie GENERATE gebruikt en hoe u de titel van een maat dynamisch wijzigt.

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Deze zelfstudie behandelt hoe u de Multi Threaded Dynamic Visuals-techniek kunt gebruiken om inzichten te creëren op basis van dynamische gegevensvisualisaties in uw rapporten.

Inleiding tot het filteren van context in LuckyTemplates

Inleiding tot het filteren van context in LuckyTemplates

In dit artikel zal ik de filtercontext doornemen. Filtercontext is een van de belangrijkste onderwerpen waarover elke LuckyTemplates-gebruiker in eerste instantie zou moeten leren.

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Ik wil laten zien hoe de online service LuckyTemplates Apps kan helpen bij het beheren van verschillende rapporten en inzichten die uit verschillende bronnen zijn gegenereerd.

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Leer hoe u wijzigingen in uw winstmarge kunt berekenen met behulp van technieken zoals vertakking van metingen en het combineren van DAX-formules in LuckyTemplates.

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Deze tutorial bespreekt de ideeën van materialisatie van datacaches en hoe deze de prestaties van DAX beïnvloeden bij het leveren van resultaten.

Zakelijke rapportage met behulp van LuckyTemplates

Zakelijke rapportage met behulp van LuckyTemplates

Als u tot nu toe nog steeds Excel gebruikt, is dit het beste moment om LuckyTemplates te gaan gebruiken voor uw zakelijke rapportagebehoeften.

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten