Pandas DataFrame DataFrame.where() Fonction
-
Syntaxe de
pandas.DataFrame.where()
-
Exemples de codes :
DataFrame.where()
-
Exemples de codes :
DataFrame.where()
pour spécifier une valeur -
Exemples de codes:
DataFrame.where()
pour utiliser plusieurs conditions
La fonction Python Pandas DataFrame.where()
accepte une condition comme paramètre et produit des résultats en conséquence. Elle vérifie la condition pour chaque valeur de la DataFrame
et sélectionne les valeurs qui acceptent la condition. La fonctionnalité de cette fonction est similaire à celle de la déclaration if-else. La valeur qui n’accepte pas la condition est remplacée par une valeur NaN
par défaut.
Syntaxe de pandas.DataFrame.where()
DataFrame.where(
cond,
other=NaN,
inplace=False,
axis=None,
level=None,
errors="raise",
try_cast=False,
)
Paramètres
Cette fonction a plusieurs paramètres. Les valeurs par défaut de tous les paramètres sont mentionnées ci-dessus.
cond |
Il s’agit d’une Series booléenne ou DataFrame, une structure de type tableau ou, un appel. Il représente la ou les conditions à vérifier pour chaque valeur du DataFrame. Si la condition est True , alors la valeur originale n’est pas remplacée. Sinon, elle est remplacée par une valeur NaN . |
other |
Il s’agit d’un scalaire, Series /DataFrame , ou d’un appel. Il représente la valeur qui sera placée pour la valeur originale si la condition est False . |
inplace |
Il s’agit d’une valeur booléenne. Elle renseigne sur l’opération sur les données. Si elle est True , elle fait des changements elle-même. |
axis |
Il s’agit d’une valeur entière. Elle indique l’axe de travail en lignes ou en colonnes. |
level |
Il s’agit d’une valeur entière. Elle renseigne sur le niveau. |
errors |
Il s’agit d’une chaîne de caractères. Elle indique les erreurs. Elle accepte deux options : raise ou ignore . Si sa valeur est raise , alors elle permet d’augmenter les exceptions. Si sa valeur est ignore , alors il ignore les exceptions et retourne l’objet original en cas d’erreur. |
try_cast |
Il s’agit d’une valeur booléenne. Elle ramène la sortie de la fonction au type d’entrée original si possible. |
Renvoie
Il retourne la DataFrame modifiée en fonction de la condition.
Exemples de codes : DataFrame.where()
Nous en apprendrons davantage sur cette fonction en la mettant en œuvre dans le prochain exemple de code.
import pandas as pd
dataframe=pd.DataFrame({
'A':
{0: 60,
1: 100,
2: 80,
3: 78,
4: 95,
5: 45,
6: 67,
7: 12,
8: 23,
9: 50},
'B':
{0: 90,
1: 75,
2: 82,
3: 64,
4: 45,
5: 35,
6: 74,
7: 52,
8: 93,
9: 18}
})
print(dataframe)
L’exemple DataFrame est,
A B
0 60 90
1 100 75
2 80 82
3 78 64
4 95 45
5 45 35
6 67 74
7 12 52
8 23 93
9 50 18
Cette fonction a un paramètre obligatoire, à savoir cond
.
import pandas as pd
dataframe = pd.DataFrame(
{
"A": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95, 5: 45, 6: 67, 7: 12, 8: 23, 9: 50},
"B": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45, 5: 35, 6: 74, 7: 52, 8: 93, 9: 18},
}
)
dataframe1 = dataframe.where(dataframe > 50)
print(dataframe1)
Production:
A B
0 60.0 90.0
1 100.0 75.0
2 80.0 82.0
3 78.0 64.0
4 95.0 NaN
5 NaN NaN
6 67.0 74.0
7 NaN 52.0
8 NaN 93.0
9 NaN NaN
Les valeurs qui ne sont pas supérieures à 50, c’est-à-dire qui ne remplissent pas la condition, sont remplacées par une valeur NaN
.
Exemples de codes : DataFrame.where()
pour spécifier une valeur
import pandas as pd
dataframe = pd.DataFrame(
{
"A": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95, 5: 45, 6: 67, 7: 12, 8: 23, 9: 50},
"B": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45, 5: 35, 6: 74, 7: 52, 8: 93, 9: 18},
}
)
dataframe1 = dataframe.where(dataframe > 50, other=0)
print(dataframe1)
Production:
A B
0 60 90
1 100 75
2 80 82
3 78 64
4 95 0
5 0 0
6 67 74
7 0 52
8 0 93
9 0 0
Ici, les valeurs qui ne remplissent pas la condition sont remplacées par une valeur définie par l’utilisateur.
Exemples de codes: DataFrame.where()
pour utiliser plusieurs conditions
import pandas as pd
dataframe = pd.DataFrame(
{
"A": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95, 5: 45, 6: 67, 7: 12, 8: 23, 9: 50},
"B": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45, 5: 35, 6: 74, 7: 52, 8: 93, 9: 18},
}
)
dataframe1 = dataframe.where((dataframe == 80) | (dataframe < 50), other=0)
print(dataframe1)
Production:
A B
0 0 0
1 0 0
2 80 0
3 0 0
4 0 45
5 45 35
6 0 0
7 12 0
8 23 0
9 0 18
La DataFrame retournée contient les valeurs qui remplissent les deux conditions.