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

  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

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.

Article connexe - Pandas DataFrame

  • Comment obtenir une valeur à partir d'une cellule d'un Pandas DataFrame
  • Comment renommer des colonnes dans Pandas DataFrame
  • Article connexe - Pandas Row Index

  • Comment convertir le dictionnaire Python en Pandas DataFrame
  • Comment renommer des colonnes dans Pandas DataFrame
  • Article connexe - Pandas Column