Comment obtenir l'index de toutes les lignes dont la colonne particulière satisfait la condition donnée dans Pandas

Suraj Joshi 30 janvier 2023
  1. Opération d’indexation simple pour obtenir l’index de toutes les lignes dont la colonne particulière satisfait une condition donnée
  2. Méthode np.where() pour obtenir l’index de toutes les lignes dont la colonne particulière satisfait la condition donnée
  3. pandas.DataFrame.query() pour obtenir les indices de toutes les lignes dont la colonne particulière satisfait la condition donnée
Comment obtenir l'index de toutes les lignes dont la colonne particulière satisfait la condition donnée dans Pandas

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.

Auteur: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Article connexe - Pandas DataFrame

Article connexe - Pandas DataFrame Row

Article connexe - Pandas DataFrame Column