Pandas DataFrame DataFrame.query() Fonction
-
Syntaxe de
pandas.DataFrame.query()
: -
Exemples de codes: méthode
DataFrame.query()
avec condition unique -
Exemples de codes: méthode
DataFrame.query()
lorsque le nom de la colonne a un espace -
Exemples de codes: méthode
DataFrame.query()
avec plusieurs conditions
La méthode pandas.DataFrame.query()
filtre les lignes de l’appelant DataFrame à l’aide de la méthode expression de requête donnée.
Syntaxe de pandas.DataFrame.query()
:
DataFrame.query(expr, inplace=False, **kwargs)
Paramètres
expr |
Expression de requête basée sur les lignes filtrées |
inplace |
Booléen. Si True , modifiez l’appelant DataFrame sur place |
**kwargs |
Arguments de mot-clé pour la méthode |
Revenir
Si inplace
vaut True
, il retourne le DataFrame
filtré; sinon None
.
Exemples de codes: méthode DataFrame.query()
avec condition unique
import pandas as pd
df = pd.DataFrame({'X': [1, 2, 3,],
'Y': [4, 1, 8]})
print("Original DataFrame:")
print(df)
filtered_df=df.query('X>1')
print("Filtered DataFrame:")
print(filtered_df)
Production:
Original DataFrame:
X Y
0 1 4
1 2 1
2 3 8
Filtered DataFrame:
X Y
1 2 1
2 3 8
Il retourne le DataFrame
avec uniquement les lignes qui satisfont l’expression de requête donnée, c’est-à-dire uniquement les lignes dont la valeur dans la colonne X
est supérieure à 1
.
Exemples de codes: méthode DataFrame.query()
lorsque le nom de la colonne a un espace
Nous devons nous assurer que les noms de colonnes à interroger n’ont pas d’espaces blancs avant d’appliquer cette méthode à DataFrame
.
Si nous avons des noms de colonnes contenant des espaces, nous pourrions utiliser des guillemets inversés (`).
import pandas as pd
df = pd.DataFrame(
{
"X": [
1,
2,
3,
],
"Y": [4, 1, 8],
"A B": [3, 5, 7],
}
)
print("Original DataFrame:")
print(df)
filtered_df = df.query("`A B`>5")
print("Filtered DataFrame:")
print(filtered_df)
Production:
Original DataFrame:
X Y A B
0 1 4 3
1 2 1 5
2 3 8 7
Filtered DataFrame:
X Y A B
2 3 8 7
Ici, la colonne A B
a un espace dans son nom. Pour créer une expression de requête pour la colonne, nous mettons le nom de la colonne entre guillemets; sinon, cela générera une erreur.
Exemples de codes: méthode DataFrame.query()
avec plusieurs conditions
import pandas as pd
df = pd.DataFrame({'X': [1, 2, 3,],
'Y': [4, 1, 8]})
print("Original DataFrame:")
print(df)
filtered_df=df.query('X>1' and 'Y==1')
print("Filtered DataFrame:")
print(filtered_df)
Production:
Original DataFrame:
X Y
0 1 4
1 2 1
2 3 8
Filtered DataFrame:
X Y
1 2 1
Si nous souhaitons filtrer DataFrame
en fonction de plusieurs conditions, nous combinons les multiples expressions de requête à l’aide de l’opérateur and
pour créer une seule expression de requête composite.
Il donne le DataFrame
avec des lignes dont la valeur de la colonne X
est supérieure à 1
, et la valeur de la colonne Y
est égale à 1
.
Nous pouvons modifier le DataFrame d’origine après avoir appelé la méthode query()
en définissant inplace = True
.
import pandas as pd
df = pd.DataFrame({'X': [1, 2, 3,],
'Y': [4, 1, 8]})
filtered_df=df.query('X>1' and 'Y==1',inplace=True)
print(df)
Production:
X Y
1 2 1
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn