HOWTO · Pandas
Comment obtenir l'index de toutes les lignes dont la colonne particulière satisfait la condition donnée dans Pandas
Nous pouvons obtenir des indices de toutes les lignes dont la colonne particulière satisfait une condition donnée dans Pandas en utilisant une opération d'indexation simple, la fonction np.where() et la méthode query().
Nous pouvons obtenir l’index de toutes les lignes dont la colonne particulière satisfait la condition donnée dans Pandas en utilisant une opération d’indexation simple. Nous pourrions également trouver leurs indices en utilisant la méthode where() du package NumPy et la méthode query() de l’objet DataFrame.
Opération d’indexation simple pour obtenir l’index de toutes les lignes dont la colonne particulière satisfait une condition donnée
L’utilisation d’une opération d’indexation simple peut accomplir la tâche d’obtention de l’index des lignes dont la colonne particulière remplit la condition donnée.
import pandas as pd
import numpy as np
dates = ["April-10", "April-11", "April-12", "April-13", "April-14", "April-16"]
sales = [200, 300, 400, 200, 300, 300]
prices = [3, 1, 2, 4, 3, 2]
df = pd.DataFrame({"Date": dates, "Sales": sales, "Price": prices})
reqd_Index = df[df["Sales"] >= 300].index.tolist()
print(reqd_Index)
Production:
[1, 2, 4, 5]
Ici, df['Sales']>=300 donne une série de valeurs booléennes dont les éléments sont True si leur colonne Sales a une valeur supérieure ou égale à 300.
Nous pouvons récupérer l’index des lignes dont la valeur Sales est supérieure ou égale à 300 en utilisant df[df['Sales']>=300].index.
Enfin, la méthode tolist() convertit tous les indices en une liste.
Méthode np.where() pour obtenir l’index de toutes les lignes dont la colonne particulière satisfait la condition donnée
np.where() prend la condition en entrée et retourne les indices des éléments qui satisfont la condition donnée. Par conséquent, nous pourrions utiliser np.where() pour obtenir les indices de toutes les lignes dont la colonne particulière satisfait la condition donnée.
import pandas as pd
import numpy as np
dates = ["April-10", "April-11", "April-12", "April-13", "April-14", "April-16"]
sales = [200, 300, 400, 200, 300, 300]
prices = [3, 1, 2, 4, 3, 2]
df = pd.DataFrame({"Date": dates, "Sales": sales, "Price": prices})
reqd_Index = list(np.where(df["Sales"] >= 300))
print(reqd_Index)
Production:
[array([1, 2, 4, 5])]
Cela génère des indices de toutes les lignes dont les valeurs dans la colonne Sales sont supérieures ou égales à 300.
pandas.DataFrame.query() pour obtenir les indices de toutes les lignes dont la colonne particulière satisfait la condition donnée
pandas.DataFrame.query() retourne DataFrame résultant de l’expression de requête fournie. Maintenant, nous pouvons utiliser l’attribut index de DataFrame pour renvoyer les indices de toutes les lignes dont la colonne particulière satisfait la condition donnée.
import pandas as pd
import numpy as np
dates = ["April-10", "April-11", "April-12", "April-13", "April-14", "April-16"]
sales = [200, 300, 400, 200, 300, 300]
prices = [3, 1, 2, 4, 3, 2]
df = pd.DataFrame({"Date": dates, "Sales": sales, "Price": prices})
reqd_index = df.query("Sales == 300").index.tolist()
print(reqd_index)
Production:
[1, 4, 5]
Il retourne la liste des indices de toutes les lignes dont la colonne particulière satisfait la condition donnée Sales == 300.