Wie erhält man einen Index aller Reihen, deren bestimmte Spalte den gegebenen Zustand in Pandas befriedigt

  1. Einfache Indexierungsoperation, um den Index aller Zeilen zu erhalten, deren bestimmte Spalte die gegebene Bedingung erfüllt
  2. np.where() Methode, um den Index aller Zeilen zu erhalten, deren bestimmte Spalte die gegebene Bedingung erfüllt
  3. 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.

Verwandter Artikel - Pandas DataFrame

  • Wie wende ich eine Funktion auf eine Spalte im Pandas-Dataframe an
  • Wie man Pandas-DataFrame nach den Werten einer Spalte sortiert
  • Verwandter Artikel - Pandas DataFrame Row

  • Wie man eine leere Spalte in Pandas DataFrame erstellt
  • Verwandter Artikel - Pandas DataFrame Column

  • Wie man eine DataFrame-Spalte basierend auf gegebenen Bedingungen in Pandas erstellt
  • Spalten nach Index in Pandas DataFrame löschen