Funzione Pandas DataFrame DataFrame.sample()
-
Sintassi di
pandas.DataFrame.sample()
-
Codici di esempio:
DataFrame.sample()
-
Codici di esempio:
DataFrame.sample()
per estrarre le colonne -
Codici di esempio:
DataFrame.sample()
per generare una frazione di dati -
Codici di esempio:
DataFrame.sample()
per sovracampionare il DataFrame -
Codici di esempio:
DataFrame.sample()
conweights
La funzione Python Pandas DataFrame.sample()
genera un campione di una riga casuale o di una colonna da un DataFrame
. Il campione può contenere più di una riga o colonna.
Sintassi di pandas.DataFrame.sample()
DataFrame.sample(
n=None, frac=None, replace=False, weights=None, random_state=None, axis=None
)
Parametri
n |
È un numero intero. Rappresenta il numero casuale di righe o colonne da selezionare dal DataFrame . |
frac |
È un valore float . Specifica la percentuale di righe o colonne casuali da estrarre dal DataFrame . Ad esempio, frac=0.45 significa che le righe o le colonne casuali selezionate saranno il 45% dei dati originali. |
replace |
È un valore booleano. Se è impostato su True , restituisce il campione con la sostituzione dei dati. |
weights |
È una stringa o una struttura tipo array a N dimensioni. Se viene chiamato su un DataFrame , accetta il nome di una colonna quando l’asse è 0. È più probabile che le righe con valori maggiori nella colonna dei pesi vengano restituite come dati di esempio. |
random_state |
È un numero intero o una funzione numpy.random.RandomState . Se è un numero intero, restituisce lo stesso numero di righe o colonne in ogni iterazione. Altrimenti, restituisce un oggetto numpy.random.RandomState . |
axis |
È un numero intero o una stringa. Specifica l’asse di destinazione righe o colonne. Può essere 0 o indice e 1 o colonne . |
Ritorno
Restituisce una serie
o un DataFrame
. La Series
o DataFrame
restituita è un chiamante che contiene n elementi selezionati casualmente dal DataFrame
originale.
Codici di esempio: DataFrame.sample()
Per impostazione predefinita, la funzione restituisce un campione contenente righe, ovvero axis=1
.
import pandas as pd
dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 75, 4: 95},
'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
'Obtained Marks': {0: 56, 1: 75, 2: 82, 3: 64, 4: 67}})
print(dataframe)
Il nostro DataFrame
è il seguente.
Attendance Name Obtained Marks
0 60 Olivia 56
1 100 John 75
2 80 Laura 82
3 75 Ben 64
4 95 Kevin 67
Tutti i parametri di questa funzione sono opzionali. Se eseguiamo questa funzione senza passare alcun parametro, restituisce una singola riga casuale come output.
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 75, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 56, 1: 75, 2: 82, 3: 64, 4: 67},
}
)
dataframe1 = dataframe.sample()
print(dataframe1)
Uscita1:
Attendance Name Obtained Marks
3 75 Ben 64
Uscita 2:
Attendance Name Obtained Marks
4 95 Kevin 67
Outpt1 e output2 mostrano due volte l’esecuzione dello stesso programma. Ogni volta che questa funzione genera un campione casuale di righe dal dato DataFrame
.
Codici di esempio: DataFrame.sample()
per estrarre le colonne
Per generare colonne in un campione, cambieremo semplicemente il nostro asse in 1.
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 75, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 56, 1: 75, 2: 82, 3: 64, 4: 67},
}
)
dataframe1 = dataframe.sample(n=1, axis=1)
print(dataframe1)
Produzione:
Name
0 Olivia
1 John
2 Laura
3 Ben
4 Kevin
La funzione ha generato un campione di una singola colonna come output. Il numero di colonne è stato impostato dal parametro n=1
.
Codici di esempio: DataFrame.sample()
per generare una frazione di dati
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 75, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 56, 1: 75, 2: 82, 3: 64, 4: 67},
}
)
dataframe1 = dataframe.sample(frac=0.5)
print(dataframe1)
Produzione:
Attendance Name Obtained Marks
3 75 Ben 64
4 95 Kevin 67
1 100 John 75
Il campione restituito è il 50% dei dati originali.
Codici di esempio: DataFrame.sample()
per sovracampionare il DataFrame
Se frac>1
, il parametro sostituisci
dovrebbe essere True
per consentire che la stessa riga possa essere campionata più di una volta; altrimenti, solleverà un ValueError
.
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 75, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 56, 1: 75, 2: 82, 3: 64, 4: 67},
}
)
dataframe1 = dataframe.sample(frac=1.5, replace=True)
print(dataframe1)
Produzione:
Attendance Name Obtained Marks
3 75 Ben 64
0 60 Olivia 56
1 100 John 75
2 80 Laura 82
1 100 John 75
2 80 Laura 82
0 60 Olivia 56
4 95 Kevin 67
Se replace
è impostato come False
, nel frattempo frac
è maggiore di 1, allora solleva un ValueError
.
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 75, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 56, 1: 75, 2: 82, 3: 64, 4: 67},
}
)
dataframe1 = dataframe.sample(frac=1.5, replace=False)
print(dataframe1)
Produzione:
Traceback (most recent call last):
File "..\test.py", line 6, in <module>
dataframe1 = dataframe.sample(frac=1.5, replace=False)
File "..\lib\site-packages\pandas\core\generic.py", line 5044, in sample
raise ValueError(
ValueError: Replace has to be set to `True` when upsampling the population `frac` > 1.
Codici di esempio: DataFrame.sample()
con weights
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 75, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 56, 1: 75, 2: 82, 3: 64, 4: 67},
}
)
dataframe1 = dataframe.sample(n=2, weights="Attendance")
print(dataframe1)
Produzione:
Attendance Name Obtained Marks
1 100 John 75
4 95 Kevin 67
Qui, le righe con valori maggiori nella colonna Attendance
vengono selezionate nel campione restituito.