Comment créer un DataFrame Pandas avec des données aléatoires



Vous pouvez utiliser la syntaxe de base suivante pour créer un DataFrame pandas rempli d’entiers aléatoires :

df = pd.DataFrame(np.random.randint(0,100,size=(10, 3)), columns=list('ABC'))

Cet exemple particulier crée un DataFrame avec 10 lignes et 3 colonnes où chaque valeur du DataFrame est un entier aléatoire compris entre 0 et 100 .

Les exemples suivants montrent comment utiliser cette syntaxe dans la pratique.

Exemple 1 : Créer un DataFrame Pandas avec des données aléatoires

Le code suivant montre comment créer un DataFrame pandas avec 10 lignes et 3 colonnes où chaque valeur du DataFrame est un entier aléatoire compris entre 0 et 100 :

import pandas as pd
import numpy as np

#create DataFrame
df = pd.DataFrame(np.random.randint(0,100,size=(10, 3)), columns=list('ABC')) 

#view DataFrame
print(df)

    A   B   C
0  72  70  27
1  87  85   7
2   4  42  84
3  85  87  63
4  79  72  30
5  96  99  79
6  26  47  90
7  35  69  56
8  42  47   0
9  97   4  59

Notez que chaque fois que vous exécutez ce code, les entiers aléatoires du DataFrame seront différents.

Si vous souhaitez créer un exemple reproductible dans lequel les entiers aléatoires sont les mêmes à chaque fois, vous pouvez utiliser le morceau de code suivant immédiatement avant de créer le DataFrame :

np.random.seed(0)

Désormais, chaque fois que vous exécutez le code, les entiers aléatoires dans le DataFrame seront les mêmes.

Exemple 2 : ajouter une colonne de données aléatoires à un DataFrame existant

Supposons que nous ayons le DataFrame pandas existant suivant :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   'points': [18, 22, 19, 14, 14, 11, 20, 28],
                   'assists': [5, 7, 7, 9, 12, 9, 9, 4],
                   'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print(df)

  team  points  assists  rebounds
0    A      18        5        11
1    B      22        7         8
2    C      19        7        10
3    D      14        9         6
4    E      14       12         6
5    F      11        9         5
6    G      20        9         9
7    H      28        4        12

Nous pouvons utiliser le code suivant pour ajouter une nouvelle colonne appelée « rand » qui contient des entiers aléatoires entre 0 et 100 :

import numpy as np

#add 'rand' column that contains 8 random integers between 0 and 100
df['rand'] = np.random.randint(0,100,size=(8, 1))

#view updated DataFrame
print(df)

  team  points  assists  rebounds  rand
0    A      18        5        11    47
1    B      22        7         8    64
2    C      19        7        10    82
3    D      14        9         6    99
4    E      14       12         6    88
5    F      11        9         5    49
6    G      20        9         9    29
7    H      28        4        12    19

Notez que la nouvelle colonne « rand » a été ajoutée au DataFrame existant.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :

Comment imputer les valeurs manquantes chez les pandas
Comment remplacer les valeurs NaN par zéro dans Pandas
Comment vérifier si la cellule est vide dans Pandas

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *