Cosè il sé in Python: esempi del mondo reale
Cos'è il sé in Python: esempi del mondo reale
Come data scientist che lavora con Python, molto probabilmente ti sei imbattuto nella libreria NumPy . È uno dei pacchetti fondamentali per il calcolo scientifico in Python .
Con la sua capacità di eseguire operazioni ad alte prestazioni su array multidimensionali, NumPy è uno strumento essenziale per chiunque si immerga nella scienza dei dati o nel calcolo numerico in Python.
Un cheat sheet NumPy può essere un'ottima risorsa per guidare il tuo viaggio in questa libreria Python. Un cheat sheet completo ti aiuterà a navigare tra le funzionalità di NumPy e a diventare rapidamente esperto nell'usarlo per varie attività!
Inoltre, ricorda che NumPy si trova al centro di importanti librerie come Pandas, SciPy, sci-kit-learn e altri pacchetti Python.
Padroneggiando le sue basi attraverso l'aiuto del cheat sheet di Python NumPy , sarai meglio attrezzato per lavorare con queste librerie. Migliorerai anche le tue abilità nella gestione di complesse strutture di dati e calcoli.
Sei della vecchia scuola (come noi) e vuoi scaricare e potenzialmente stampare il tuo cheat sheet?
Scorri verso il basso per farlo.
Sommario
Nozioni di base di NumPy
In questa sezione tratteremo le basi di NumPy, concentrandoci sull'installazione di NumPy, la creazione di array, gli attributi dell'array e i tipi di dati. Questi concetti forniranno una solida base per comprendere e utilizzare efficacemente NumPy nei tuoi progetti di data science Python.
1. Installazione e importazione di NumPy
Puoi installare NumPy dalla riga di comando usando il comando seguente:
pip install numpy
Una volta installato, importalo nel tuo codice.
import numpy as np
Tieni presente che puoi utilizzare qualsiasi altro nome oltre a np . Tuttavia, np è la convenzione di importazione NumPy standard utilizzata dalla maggior parte degli sviluppatori e dei data scientist.
2. Creazione dell'array
La creazione di array in NumPy è semplice e diretta. Puoi creare array da elenchi o tuple usando la funzione 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
Puoi anche generare array di forme e valori specifici utilizzando varie funzioni:
np.zeros() : crea un array pieno di zeri
np.ones() : Crea un array pieno di uno
np.identity() : crea un array di matrici di identità.
np.empty() : crea un array senza inizializzare i suoi elementi su un valore particolare
np.arange() : crea un array con valori spaziati regolarmente tra un valore iniziale e uno finale
np.linspace() : crea un array con un numero specificato di valori equidistanti tra un valore iniziale e uno finale
Nota: non è possibile generare un array vuoto in NumPy. Ogni matrice NumPy ha una dimensione fissa e immutabile e ogni elemento della matrice deve essere compilato quando viene creata la matrice.
La funzione np.empty() crea la forma dell'array richiesta e la riempie con valori casuali. Il metodo predefinito crea un array di float casuali.
È possibile creare un tipo di dati array diverso utilizzando il parametro dtype .
3. Attributi matrice
Gli array NumPy hanno diversi attributi che forniscono informazioni utili sull'array. Diamo un'occhiata ad alcuni di loro:
ndarray.shape: restituisce le dimensioni dell'array come tupla (righe, colonne)
ndarray.ndim: restituisce il numero di dimensioni nell'array
ndarray.size: restituisce il numero totale di elementi nell'array
ndarray.dtype: restituisce il tipo di dati degli elementi dell'array
Per accedere a questi attributi, usa la notazione del punto, in questo modo:
a = np.array([(1, 2, 3), (4, 5, 6)])
#Print out the array shape
print(a.shape) # Output: (2, 3)
4. Tipi di dati
NumPy fornisce diversi tipi di dati per memorizzare i dati in array, come interi, stringhe, float, booleani e complessi. Per impostazione predefinita, NumPy tenta di dedurre il tipo di dati in base agli elementi di input.
Tuttavia, puoi anche specificare in modo esplicito il tipo di dati utilizzando la parola chiave dtype . Per esempio:
import numpy as np
a = np.array([1, 2, 3], dtype=float) # Creates an array of floats
I tipi di dati NumPy comuni includono:
np.int32 : numero intero a 32 bit
np.int64: numero intero a 64 bit
np.float32: 32-bit floating-point number
np.float64: 64-bit floating-point number
np.complex: Complex number, represented by two 64-bit floating-point numbers
You can also convert arrays from one data type to another. In this example, here’s how we can convert the Integer array a into a Boolean array arr using the np.array() method.
From the example, we can see the array() method converts the array elements into boolean values. These boolean values then form the new NumPy array arr.
Understanding these basic concepts of NumPy will allow you to effectively work with arrays and perform a variety of mathematical NumPy operations. For example, you can check out our video on how to transform and code addresses In Python.
In it, we used Python Pandas and NumPy data types to geocode home addresses.
Array Manipulation
In this section, you will learn about various array shape manipulation techniques in NumPy. We will discuss reshaping, concatenation, copying, splitting, adding/removing elements, indexing, and slicing.
These techniques are crucial for effectively working with array data in your data science projects.
Let’s dive into each sub-section.
1. Reshaping
Reshaping an array in NumPy is a common task you’ll perform. You might need to change the shape of your array to match the requirements of a function or an algorithm.
To reshape an array, use the reshape() function:
arr = np.array([1, 2, 3, 4, 5, 6])
new_arr = arr.reshape(2, 3)
This will convert your one-dimensional array into a two-dimensional array with 2 rows and 3 columns.
Note: Make sure the new shape you provide has the same size (number of array elements) as the original array.
2. Copying
You can copy the elements in one NumPy array to another using the copy() method. You should note that using the assignment operator ‘=’ creates a shallow copy.
#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]
The new array only references the old array in the system’s memory. They contain the same elements and they are not independent of each other.
By using the deep copy, you create a new NumPy array that contains the same data as the old one while being independent of it.
#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. Concatenation
Occasionally, you may need to merge two arrays into a single one. In NumPy, you can use the concatenate() function to join arrays along an existing axis:
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
result = np.concatenate((arr1, arr2))
This combines arr1 and arr2 into a single array. Keep in mind that the arrays being concatenated should have the same shape, except along the specified axis.
4. Splitting
Splitting is the opposite of concatenation. You can divide an array into smaller sub-arrays using the split() function:
arr = np.array([1, 2, 3, 4, 5, 6])
result = np.split(arr, 3)
This splits the array into 3 equal-sized sub-arrays. Ensure that the number of splits you specify can evenly divide the size of the array along the given axis.
5. Adding/Removing Elements
Adding or removing elements in a NumPy array can be achieved using the append() and delete() functions. You can use the former to append values to the end of the array while the latter deletes the element at a specified index.
Here’s an example:
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
Keep in mind that NumPy arrays have a fixed size. When using append() or delete(), a new array is created, and the original one is not modified.
6. Indexing
You can perform indexing operations on NumPy arrays the same way you’d do them on Python lists or tuples. Let’s look at how you can access or change array elements in a given array.
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. Slicing
You can also slice NumPy arrays to extract or view a section of the data the same way you’d do Python lists or sets. Let’s take a look at an example below:
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) – Calcola la media dei valori nell'array.
median : np.median(your_array) – Trova la mediana dei valori nell'array.
2. Funzioni statistiche
NumPy ha anche una varietà di funzioni statistiche per aiutarti ad analizzare i dati:
std: np.std(your_array) – Calcola la deviazione standard dei valori nell'array.
var: np.var(your_array) – Calcola la varianza dei valori nell'array.
corrcoef : np.corrcoef(your_array) – Calcola il coefficiente di correlazione dell'array.
3. Ricerca
La ricerca negli array NumPy può essere eseguita utilizzando vari metodi:
argmin: np.argmin(your_array) – Trova l'indice dell'elemento minimo dell'array.
argmax: np.argmax(your_array) – Trova l'indice dell'elemento massimo dell'array.
dove: np.where(condizione) – Restituisce gli indici degli elementi nell'array che soddisfano la condizione data.
4. Ordinamento
Puoi ordinare gli elementi nel tuo array usando le seguenti funzioni:
sort : np.sort(your_array) – Ordina gli elementi nell'array in ordine crescente.
argsort: np.argsort(your_array) – Restituisce gli indici che ordinano l'array.
Con queste funzioni e tecniche, puoi comodamente analizzare e manipolare i tuoi array NumPy per scoprire preziose informazioni e supportare i tuoi sforzi di analisi dei dati.
Funzioni avanzate
In questa sezione, esploreremo alcune funzioni avanzate in NumPy per aiutarti a lavorare in modo più efficiente con i tuoi dati. Tratteremo le funzioni Broadcasting e Linear Algebra.
1. Trasmissione
La trasmissione è una potente funzionalità di NumPy che consente di eseguire operazioni su array con forme e dimensioni diverse. Funziona espandendo automaticamente le dimensioni dell'array più piccolo in modo che corrispondano all'array più grande, semplificando l'esecuzione di operazioni a livello di elementi.
Ecco un esempio:
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 questo esempio, l'array 1D A viene trasmesso in modo da corrispondere alla forma dell'array 2D B, consentendo l'addizione per elemento.
Tieni a mente queste regole quando lavori con la trasmissione:
Le dimensioni degli array devono essere compatibili (o la stessa dimensione o uno di essi è 1).
La trasmissione viene applicata dalle dimensioni finali e lavora verso le dimensioni principali.
2. Algebra lineare
NumPy fornisce diverse funzioni di algebra lineare che possono essere utili quando si lavora con matrici multidimensionali. Alcune di queste funzioni includono:
np.dot(A, B): calcola il prodotto scalare di due array.
np.linalg.inv(A) : Calcola l'inverso di una matrice quadrata.
np.linalg.eig(A) : Calcola gli autovalori e gli autovettori di una matrice quadrata.
np.linalg.solve(A, B): risolve un sistema lineare di equazioni, dove A è la matrice dei coefficienti e B è la matrice delle costanti.
Ricordati di controllare sempre se le tue matrici sono compatibili prima di eseguire queste operazioni.
Ingresso e uscita
In questa sezione, esploreremo come salvare e caricare array, nonché come leggere e scrivere file utilizzando NumPy.
1. Salvataggio e caricamento di array
Per salvare un array, puoi usare la funzione np.save() di NumPy . Questa funzione accetta il nome del file e l'array come due argomenti principali.
import numpy as np
arr = np.array([1, 2, 3])
np.save('my_array.npy', arr)
Per caricare l'array salvato, utilizzare la funzione np.load() , fornendo il nome del file come argomento.
loaded_array = np.load('my_array.npy')
print(loaded_array)
# Output: array([1, 2, 3])
Puoi anche salvare e caricare più array usando le funzioni np.save() e np.load() .
2. Leggere e scrivere su file di testo
NumPy fornisce funzioni per leggere e scrivere file di testo con array, come np.loadtxt() e np.savetxt() . È possibile utilizzare queste funzioni per salvare e caricare dati da formati di file come un file txt o CSV.
Per leggere un file di testo in un array, utilizzare la funzione np.loadtxt() . Prende il nome del file come argomento principale e supporta anche argomenti facoltativi per specificare delimitatore, dtype e altro.
arr_from_txt = np.loadtxt('data.txt', delimiter=',')
print(arr_from_txt)
Per leggere i dati da un file CSV, puoi anche utilizzare la funzione np.loadtxt() . Tuttavia, assicurati che il delimitatore sia sempre impostato sulla virgola, " , ".
Per scrivere un array in un file di testo, utilizzare la funzione np.savetxt() . Questa funzione prende il nome del file e l'array come due argomenti principali, seguiti da argomenti facoltativi, come delimitatore e intestazione.
arr_to_txt = np.array([[1, 2, 3], [4, 5, 6]])
np.savetxt('output_data.txt', arr_to_txt, delimiter=',')
Queste funzioni di input e output consentono di lavorare in modo efficiente con array e file di testo nelle attività di elaborazione e manipolazione dei dati utilizzando NumPy.
Scarica il tuo cheat sheet qui sotto
Pensieri finali
Bene, questo è tutto ciò che devi sapere per iniziare con la libreria Numpy Python! Puoi anche utilizzare il cheat sheet di Python Numpy come utile riferimento quando lavori con la libreria.
Per funzionalità più avanzate, puoi consultare la documentazione di NumPy . Puoi anche dare un'occhiata a questo divertente Cheat sheet di Python che abbiamo messo insieme per sviluppatori sia nuovi che esperti.
Buona fortuna!
Cos'è il sé in Python: esempi del mondo reale
Imparerai come salvare e caricare oggetti da un file .rds in R. Questo blog tratterà anche come importare oggetti da R a LuckyTemplates.
In questa esercitazione sul linguaggio di codifica DAX, scopri come usare la funzione GENERATE e come modificare dinamicamente il titolo di una misura.
Questo tutorial illustrerà come utilizzare la tecnica di visualizzazione dinamica multi-thread per creare approfondimenti dalle visualizzazioni di dati dinamici nei report.
In questo articolo, esaminerò il contesto del filtro. Il contesto del filtro è uno degli argomenti principali che qualsiasi utente di LuckyTemplates dovrebbe inizialmente conoscere.
Voglio mostrare come il servizio online di LuckyTemplates Apps può aiutare nella gestione di diversi report e approfondimenti generati da varie fonti.
Scopri come elaborare le modifiche al margine di profitto utilizzando tecniche come la ramificazione delle misure e la combinazione di formule DAX in LuckyTemplates.
Questo tutorial discuterà delle idee di materializzazione delle cache di dati e di come influiscono sulle prestazioni dei DAX nel fornire risultati.
Se finora utilizzi ancora Excel, questo è il momento migliore per iniziare a utilizzare LuckyTemplates per le tue esigenze di reportistica aziendale.
Che cos'è il gateway LuckyTemplates? Tutto quello che devi sapere