Wie erhält man einen Index aller Reihen, deren bestimmte Spalte den gegebenen Zustand in Pandas befriedigt
- Einfache Indexierungsoperation, um den Index aller Zeilen zu erhalten, deren bestimmte Spalte die gegebene Bedingung erfüllt
-
np.where()
Methode, um den Index aller Zeilen zu erhalten, deren bestimmte Spalte die gegebene Bedingung erfüllt -
pandas.DataFrame.query()
, um Indizes aller Zeilen zu erhalten, deren bestimmte Spalte die gegebene Bedingung erfüllt

Wir können den Index aller Zeilen erhalten, deren bestimmte Spalte die gegebene Bedingung in Pandas erfüllt, indem wir eine einfache Indizierungsoperation verwenden. Wir könnten ihre Indizes auch mit der Methode where()
aus dem Paket NumPy
und der Methode query()
des DataFrame-Objekts finden.
Einfache Indexierungsoperation, um den Index aller Zeilen zu erhalten, deren bestimmte Spalte die gegebene Bedingung erfüllt
Die Verwendung einer einfachen Indexierungsoperation kann die Aufgabe erfüllen, den Index von Zeilen zu erhalten, deren bestimmte Spalte die gegebene Bedingung erfüllt.
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)
Ausgabe:
[1, 2, 4, 5]
Hier gibt df['Sales']>=300
eine Reihe boolescher Werte an, deren Elemente True
sind, wenn ihre Spalte Sales
einen Wert größer oder gleich 300 hat.
Den Index von Zeilen, deren Sales
-Wert größer oder gleich 300 ist, können wir mit df[df['Sales']>=300].index
abrufen.
Schließlich wandelt die tolist()
Methode alle Indizes in eine Liste um.
np.where()
Methode, um den Index aller Zeilen zu erhalten, deren bestimmte Spalte die gegebene Bedingung erfüllt
np.where()
nimmt Bedingung als Eingabe und gibt die Indizes der Elemente zurück, die die gegebene Bedingung erfüllen. Daher könnten wir np.where()
verwenden, um die Indizes aller Zeilen zu erhalten, deren bestimmte Spalte die gegebene Bedingung erfüllt.
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)
Ausgabe:
[array([1, 2, 4, 5])]
Dies gibt die Indizes aller Zeilen aus, deren Werte in der Spalte Sales
größer oder gleich 300
sind.
pandas.DataFrame.query()
, um Indizes aller Zeilen zu erhalten, deren bestimmte Spalte die gegebene Bedingung erfüllt
pandas.DataFrame.query()
gibt DataFrame zurück, das sich aus dem bereitgestellten Abfrageausdruck ergibt. Jetzt können wir das index
-Attribut von DataFrame verwenden, um Indizes aller Zeilen zurückzugeben, deren bestimmte Spalte die gegebene Bedingung erfüllt.
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)
Ausgabe:
[1, 4, 5]
Es gibt die Liste der Indizes aller Zeilen zurück, deren bestimmte Spalte die gegebene Bedingung Sales == 300
erfüllt.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn