Numpy Cheat Sheet : analyse de données essentielles en Python

Numpy Cheat Sheet : analyse de données essentielles en Python

Numpy Cheat Sheet : analyse de données essentielles en Python

En tant que data scientist travaillant avec Python, vous avez très probablement rencontré la bibliothèque NumPy . C'est l'un des packages de base pour le calcul scientifique en Python .

Avec sa capacité à effectuer des opérations hautes performances sur des tableaux multidimensionnels, NumPy est un outil essentiel pour quiconque plonge dans la science des données ou le calcul numérique en Python.

Une feuille de triche NumPy peut être une excellente ressource pour vous guider dans votre voyage dans cette bibliothèque Python. Une feuille de triche complète vous aidera à naviguer dans les fonctionnalités de NumPy et à maîtriser rapidement son utilisation pour diverses tâches !

N'oubliez pas non plus que NumPy est au cœur d'importantes bibliothèques telles que Pandas, SciPy, sci-kit-learn et d'autres packages Python.

En maîtrisant ses bases grâce à l'aide de la feuille de triche Python NumPy , vous serez mieux équipé pour travailler avec ces bibliothèques. Vous développerez également vos compétences dans la gestion de structures de données et de calculs complexes.

Êtes-vous de la vieille école (comme nous) et souhaitez-vous télécharger et éventuellement imprimer votre aide-mémoire ?

Faites défiler vers le bas pour le faire.

Table des matières

Les bases de NumPy

Dans cette section, nous couvrirons les bases de NumPy, en nous concentrant sur l'installation de NumPy, la création de tableaux, les attributs de tableau et les types de données. Ces concepts fourniront une base solide pour comprendre et utiliser efficacement NumPy dans vos projets de science des données Python.

1. Installer et importer NumPy

Vous pouvez installer NumPy depuis la ligne de commande en utilisant la commande ci-dessous :

pip install numpy

Une fois installé, importez-le dans votre code.

import numpy as np

Gardez à l'esprit que vous pouvez utiliser n'importe quel autre nom en dehors de np . Cependant, np est la convention d'importation NumPy standard utilisée par la plupart des développeurs et des data scientists.

2. Création de tableau

La création de tableaux dans NumPy est simple et directe. Vous pouvez créer des tableaux à partir de listes ou de tuples à l'aide de la fonction 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

Vous pouvez également générer des tableaux de formes et de valeurs spécifiques à l'aide de diverses fonctions :

  • np.zeros() : Crée un tableau rempli de zéros

  • np.ones() : Crée un tableau rempli de uns

  • np.identity() : Crée un tableau de matrice d'identité.

  • np.empty() : Crée un tableau sans initialiser ses éléments à une valeur particulière

  • np.arange() : Crée un tableau avec des valeurs régulièrement espacées entre une valeur de début et de fin

  • np.linspace() : Crée un tableau avec un nombre spécifié de valeurs régulièrement espacées entre une valeur de début et de fin

Numpy Cheat Sheet : analyse de données essentielles en Python

Remarque : Vous ne pouvez pas générer un tableau vide dans NumPy. Chaque tableau NumPy a une taille fixe et immuable et chaque élément du tableau doit être rempli lors de la création du tableau.

La fonction np.empty() crée la forme de tableau requise et la remplit avec des valeurs aléatoires. La méthode par défaut crée un tableau de flottants aléatoires.

Vous pouvez créer un type de données de tableau différent à l'aide du paramètre dtype .

3. Attributs de tableau

Les tableaux NumPy ont plusieurs attributs qui fournissent des informations utiles sur le tableau. Regardons certains d'entre eux :

  • ndarray.shape : renvoie les dimensions du tableau sous forme de tuple (lignes, colonnes)

  • ndarray.ndim : renvoie le nombre de dimensions dans le tableau

  • ndarray.size : renvoie le nombre total d'éléments dans le tableau

  • ndarray.dtype : renvoie le type de données des éléments du tableau

Pour accéder à ces attributs, utilisez la notation par points, comme ceci :

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

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

Numpy Cheat Sheet : analyse de données essentielles en Python

4. Types de données

NumPy fournit plusieurs types de données pour stocker des données dans des tableaux, tels que entier, chaîne, flottant, booléen et complexe. Par défaut, NumPy essaie de déduire le type de données en fonction des éléments d'entrée.

Cependant, vous pouvez également spécifier explicitement le type de données à l'aide du mot-clé dtype . Par exemple:

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

Les types de données NumPy courants incluent :

  • np.int32 : entier 32 bits

  • np.int64 : entier 64 bits

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

Numpy Cheat Sheet : analyse de données essentielles en Python

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.

Numpy Cheat Sheet : analyse de données essentielles en Python

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.

Numpy Cheat Sheet : analyse de données essentielles en Python

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)

Numpy Cheat Sheet : analyse de données essentielles en 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) – Calcule la moyenne des valeurs du tableau.

  • median : np.median(your_array) – Trouver la médiane des valeurs du tableau.

Numpy Cheat Sheet : analyse de données essentielles en Python

2. Fonctions statistiques

NumPy dispose également d'une variété de fonctions statistiques pour vous aider à analyser les données :

  • std : np.std(your_array) – Calcule l'écart type des valeurs du tableau.

  • var: np.var(your_array) – Calcule la variance des valeurs du tableau.

  • corrcoef : np.corrcoef(your_array) – Calcule le coefficient de corrélation du tableau.

3. Recherche

La recherche dans les tableaux NumPy peut être effectuée à l'aide de différentes méthodes :

  • argmin : np.argmin(your_array) – Trouver l'index de l'élément minimum du tableau.

  • argmax : np.argmax(your_array) – Trouver l'index de l'élément de tableau maximum.

  • où : np.where(condition) – Renvoie les indices des éléments du tableau qui satisfont la condition donnée.

4. Tri

Vous pouvez trier les éléments de votre tableau à l'aide des fonctions suivantes :

  • sort : np.sort(your_array) – Trie les éléments du tableau par ordre croissant.

  • argsort : np.argsort(your_array) – Renvoie les indices qui trieraient le tableau.

Grâce à ces fonctions et techniques, vous pouvez facilement analyser et manipuler vos tableaux NumPy pour découvrir des informations précieuses et soutenir vos efforts d'analyse de données.

Fonctions avancées

Dans cette section, nous allons explorer certaines fonctions avancées de NumPy pour vous aider à travailler plus efficacement avec vos données. Nous couvrirons les fonctions de diffusion et d'algèbre linéaire.

1. Radiodiffusion

La diffusion est une puissante fonctionnalité NumPy qui vous permet d'effectuer des opérations sur des tableaux de différentes formes et tailles. Cela fonctionne en élargissant automatiquement les dimensions du plus petit tableau pour qu'elles correspondent au plus grand tableau, ce qui facilite l'exécution d'opérations par élément.

Voici un exemple :

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

Dans cet exemple, le tableau 1D A est diffusé pour correspondre à la forme du tableau 2D B, permettant une addition élément par élément.

Numpy Cheat Sheet : analyse de données essentielles en Python

Gardez ces règles à l'esprit lorsque vous travaillez avec la diffusion :

  • Les dimensions des tableaux doivent être compatibles (soit la même taille soit l'un d'entre eux vaut 1).

  • La diffusion est appliquée à partir des dimensions de fin et travaille vers les dimensions de tête.

2. Algèbre linéaire

NumPy fournit plusieurs fonctions d'algèbre linéaire qui peuvent être utiles lorsque vous travaillez avec des tableaux multidimensionnels. Certaines de ces fonctions incluent :

  • np.dot(A, B) : calcule le produit scalaire de deux tableaux.

  • np.linalg.inv(A) : Calcule l'inverse d'une matrice carrée.

  • np.linalg.eig(A) : Calcule les valeurs propres et les vecteurs propres d'une matrice carrée.

  • np.linalg.solve(A, B) : Résout un système linéaire d'équations, où A est la matrice de coefficients et B est la matrice constante.

Pensez à toujours vérifier si vos matrices sont compatibles avant d'effectuer ces opérations.

Entrée et sortie

Dans cette section, nous verrons comment enregistrer et charger des tableaux, ainsi que comment lire et écrire des fichiers à l'aide de NumPy.

1. Enregistrement et chargement de tableaux

Pour enregistrer un tableau, vous pouvez utiliser la fonction np.save() de NumPy . Cette fonction prend le nom de fichier et le tableau comme ses deux principaux arguments.

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

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

Pour charger le tableau enregistré, utilisez la fonction np.load() , en fournissant le nom du fichier comme argument.

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

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

Vous pouvez également enregistrer et charger plusieurs tableaux à l'aide des fonctions np.save() et np.load() .

2. Lecture et écriture dans des fichiers texte

NumPy fournit des fonctions pour lire et écrire des fichiers texte avec des tableaux, tels que np.loadtxt() et np.savetxt() . Vous pouvez utiliser ces fonctions pour enregistrer et charger des données à partir de formats de fichiers comme un fichier txt ou CSV.

Pour lire un fichier texte dans un tableau, utilisez la fonction np.loadtxt() . Il prend le nom de fichier comme argument principal et prend également en charge les arguments facultatifs pour spécifier le délimiteur, le dtype, etc.

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

Pour lire les données d'un fichier CSV, vous pouvez également utiliser la fonction np.loadtxt() . Cependant, assurez-vous que le délimiteur est toujours défini sur la virgule, " , ".

Pour écrire un tableau dans un fichier texte, utilisez la fonction np.savetxt() . Cette fonction prend le nom de fichier et le tableau comme ses deux arguments principaux, suivis d'arguments facultatifs, tels que le délimiteur et l'en-tête.

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

Ces fonctions d'entrée et de sortie vous permettent de travailler efficacement avec des tableaux et des fichiers texte dans vos tâches de traitement et de manipulation de données à l'aide de NumPy.

Téléchargez votre feuille de triche ci-dessous

Télécharger Numpy Cheat Sheet

Dernières pensées

Eh bien, c'est tout ce que vous devez savoir pour démarrer avec la bibliothèque Numpy Python ! Vous pouvez également utiliser la feuille de triche Python Numpy comme référence pratique lorsque vous travaillez avec la bibliothèque.

Pour des fonctionnalités plus avancées, vous pouvez consulter la documentation NumPy . Vous pouvez également consulter cette amusante feuille de triche Python que nous avons préparée pour les développeurs débutants et expérimentés.

Bonne chance!


Quest-ce que le self en Python ? Exemples concrets

Quest-ce que le self en Python ? Exemples concrets

Qu'est-ce que le self en Python ? Exemples concrets

Comment enregistrer et charger un fichier RDS dans R

Comment enregistrer et charger un fichier RDS dans R

Vous apprendrez à enregistrer et à charger des objets à partir d'un fichier .rds dans R. Ce blog expliquera également comment importer des objets de R vers LuckyTemplates.

First N Business Days Revisited - Une solution de langage de codage DAX

First N Business Days Revisited - Une solution de langage de codage DAX

Dans ce didacticiel sur le langage de codage DAX, découvrez comment utiliser la fonction GENERATE et comment modifier dynamiquement le titre d'une mesure.

Présentez des informations à laide de la technique des visuels dynamiques multi-threads dans LuckyTemplates

Présentez des informations à laide de la technique des visuels dynamiques multi-threads dans LuckyTemplates

Ce didacticiel explique comment utiliser la technique Multi Threaded Dynamic Visuals pour créer des informations à partir de visualisations de données dynamiques dans vos rapports.

Introduction au filtrage du contexte dans LuckyTemplates

Introduction au filtrage du contexte dans LuckyTemplates

Dans cet article, je vais parcourir le contexte du filtre. Le contexte de filtrage est l'un des principaux sujets que tout utilisateur de LuckyTemplates doit d'abord connaître.

Meilleurs conseils pour utiliser les applications dans le service en ligne LuckyTemplates

Meilleurs conseils pour utiliser les applications dans le service en ligne LuckyTemplates

Je souhaite montrer comment le service en ligne LuckyTemplates Apps peut aider à gérer différents rapports et informations générés à partir de diverses sources.

Analyser les changements de marge bénéficiaire au fil du temps - Analytics avec LuckyTemplates et DAX

Analyser les changements de marge bénéficiaire au fil du temps - Analytics avec LuckyTemplates et DAX

Découvrez comment calculer les modifications de votre marge bénéficiaire à l'aide de techniques telles que la création de branches de mesure et la combinaison de formules DAX dans LuckyTemplates.

Idées de matérialisation pour les caches de données dans DAX Studio

Idées de matérialisation pour les caches de données dans DAX Studio

Ce didacticiel abordera les idées de matérialisation des caches de données et comment elles affectent les performances des DAX dans la fourniture de résultats.

Rapports dentreprise à laide de LuckyTemplates

Rapports dentreprise à laide de LuckyTemplates

Si vous utilisez encore Excel jusqu'à présent, c'est le meilleur moment pour commencer à utiliser LuckyTemplates pour vos besoins en matière de rapports commerciaux.

Quest-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir

Quest-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir

Qu'est-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir