Come creare un pandas dataframe con dati casuali
È possibile utilizzare la seguente sintassi di base per creare un DataFrame panda pieno di numeri interi casuali:
df = pd. DataFrame ( np.random.randint ( 0,100 ,size=( 10,3 )) , columns=list( ' ABC '))
Questo particolare esempio crea un DataFrame con 10 righe e 3 colonne in cui ogni valore nel DataFrame è un numero intero casuale compreso tra 0 e 100 .
Gli esempi seguenti mostrano come utilizzare questa sintassi nella pratica.
Esempio 1: crea un Pandas DataFrame con dati casuali
Il codice seguente mostra come creare un DataFrame panda con 10 righe e 3 colonne in cui ogni valore nel DataFrame è un numero intero casuale compreso tra 0 e 100:
import pandas as pd import numpy as np #createDataFrame df = pd. DataFrame ( np.random.randint ( 0,100 ,size=( 10,3 )), columns=list( ' ABC ') ) #view DataFrame print (df) ABC 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
Tieni presente che ogni volta che esegui questo codice, gli interi casuali nel DataFrame saranno diversi.
Se vuoi creare un esempio riproducibile in cui gli interi casuali sono sempre gli stessi, puoi utilizzare il seguente pezzo di codice immediatamente prima di creare DataFrame:
n.p. random . seed ( 0 )
Ora, ogni volta che esegui il codice, gli interi casuali nel DataFrame saranno gli stessi.
Esempio 2: aggiungere una colonna di dati casuale a un DataFrame esistente
Supponiamo di avere i seguenti DataFrame panda esistenti:
import pandas as pd #createDataFrame 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:28 4 12
Possiamo usare il seguente codice per aggiungere una nuova colonna chiamata “rand” che contiene numeri interi casuali compresi tra 0 e 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:28 4 12 19
Tieni presente che la nuova colonna “rand” è stata aggiunta al DataFrame esistente.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre operazioni comuni nei panda:
Come imputare i valori mancanti nei panda
Come sostituire i valori NaN con zero in Panda
Come verificare se la cella è vuota in Pandas