Pandas DataFrame DataFrame.sample() Fonction
-
Syntaxe de
pandas.DataFrame.sample()
-
Exemples de codes:
DataFrame.sample()
-
Exemples de codes:
DataFrame.sample()
pour extraire les colonnes -
Exemples de codes:
DataFrame.sample()
pour générer une fraction de données -
Exemples de codes:
DataFrame.sample()
pour suréchantillonner le DataFrame -
Exemples de codes:
DataFrame.sample()
avecweights
Python Pandas DataFrame.sample()
, la fonction génère un échantillon d’une ligne aléatoire ou d’un colonne d’un DataFrame
. L’échantillon peut contenir plusieurs lignes ou colonnes.
Syntaxe de pandas.DataFrame.sample()
DataFrame.sample(
n=None, frac=None, replace=False, weights=None, random_state=None, axis=None
)
Paramètres
n |
Il s’agit d’une valeur entière . Il représente le nombre aléatoire de lignes ou de colonnes à sélectionner dans le DataFrame . |
frac |
C’est une valeur float . Il spécifie le pourcentage de lignes ou colonnes aléatoires à extraire du DataFrame . Par exemple, frac = 0.45 signifie que les lignes ou colonnes aléatoires sélectionnées représenteront 45% des données d’origine. |
replace |
Il s’agit d’une valeur booléenne . S’il est défini sur True , il retourne l’échantillon avec le remplacement des données. |
weights |
C’est une chaîne ou une structure de type tableau à N dimensions. S’il est appelé sur un DataFrame , il accepte alors le nom d’une colonne lorsque l’axe est 0. Les lignes avec des valeurs supérieures dans la colonne des poids sont plus susceptibles d’être renvoyées en tant qu’exemples de données. |
random_state |
Il s’agit d’une fonction integer ou numpy.random.RandomState . S’il s’agit d’un entier , il retourne le même nombre de lignes ou de colonnes à chaque itération. Sinon, il retourne un objet numpy.random.RandomState . |
axis |
Il s’agit d’un entier ou d’une chaîne . Il indique l’axe cible soit des lignes soit des colonnes. Ce peut être 0 ou index et 1 ou columns . |
Revenir
Il retourne une Series
ou un DataFrame
. Le Series
ou le DataFrame
renvoyé est un appelant qui contient n éléments sélectionnés au hasard dans le DataFrame
d’origine.
Exemples de codes: DataFrame.sample()
Par défaut, la fonction retourne un échantillon contenant des lignes, c’est-à-dire 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)
Notre DataFrame
ressemble
Attendance Name Obtained Marks
0 60 Olivia 56
1 100 John 75
2 80 Laura 82
3 75 Ben 64
4 95 Kevin 67
Tous les paramètres de cette fonction sont facultatifs. Si nous exécutons cette fonction sans passer aucun paramètre, elle retourne une seule ligne aléatoire en sortie.
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)
Production 1:
Attendance Name Obtained Marks
3 75 Ben 64
Production 2:
Attendance Name Obtained Marks
4 95 Kevin 67
Production 1
et Production 2
montrent l’exécution du même programme deux fois. Chaque fois que cette fonction génère un échantillon aléatoire de lignes à partir du DataFrame donné.
Exemples de codes: DataFrame.sample()
pour extraire les colonnes
Pour générer des colonnes dans un échantillon, nous allons simplement changer notre axe à 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)
Production:
Name
0 Olivia
1 John
2 Laura
3 Ben
4 Kevin
La fonction a généré un échantillon d’une seule colonne en sortie. Le nombre de colonnes a été défini par le paramètre n = 1
.
Exemples de codes: DataFrame.sample()
pour générer une fraction de données
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)
Production:
Attendance Name Obtained Marks
3 75 Ben 64
4 95 Kevin 67
1 100 John 75
L’échantillon renvoyé représente 50% des données d’origine.
Exemples de codes: DataFrame.sample()
pour suréchantillonner le DataFrame
Si frac> 1
, alors le paramètre replace
devrait être True
pour permettre que la même ligne puisse être échantillonnée plus d’une fois; sinon, il déclenchera une 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)
Production:
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
Si replace
est réglé sur False
alors que frac
est plus grand que 1, alors il déclenche une 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)
Production:
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.
Exemples de codes: DataFrame.sample()
avec 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)
Production:
Attendance Name Obtained Marks
1 100 John 75
4 95 Kevin 67
Ici, les lignes avec des valeurs plus élevées dans la colonne Attendance
sont sélectionnées dans l’échantillon renvoyé.