Ottieni l'indice di tutte le righe la cui colonna specifica soddisfa una determinata condizione in Pandas

  1. Semplice operazione di indicizzazione per ottenere l’indice di tutte le righe la cui colonna specifica soddisfa una determinata condizione
  2. Metodo np.where() per ottenere l’indice di tutte le righe la cui colonna specifica soddisfa una determinata condizione
  3. pandas.DataFrame.query() per ottenere gli indici di tutte le righe la cui colonna specifica soddisfa una determinata condizione

Possiamo ottenere l’indice di tutte le righe la cui particolare colonna soddisfa una data condizione in Pandas usando una semplice operazione di indicizzazione. Potremmo anche trovare i loro indici usando il metodo where() dal pacchetto NumPy e il metodo query() dell’oggetto DataFrame.

Semplice operazione di indicizzazione per ottenere l’indice di tutte le righe la cui colonna specifica soddisfa una determinata condizione

L’uso di una semplice operazione di indicizzazione può svolgere il compito di ottenere l’indice delle righe la cui particolare colonna soddisfa la condizione data.

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)

Produzione:

[1, 2, 4, 5]

Qui, df['Sales']>=300 fornisce una serie di valori booleani i cui elementi sono True se la loro colonna Sales ha un valore maggiore o uguale a 300.

Possiamo recuperare l’indice delle righe il cui valore Sales è maggiore o uguale a 300 utilizzando df[df['Sales']>=300].index.

Infine, il metodo tolist() converte tutti gli indici in una lista.

Metodo np.where() per ottenere l’indice di tutte le righe la cui colonna specifica soddisfa una determinata condizione

np.where() accetta la condizione come input e restituisce gli indici degli elementi che soddisfano la condizione data. Quindi, potremmo usare np.where() per ottenere gli indici di tutte le righe la cui particolare colonna soddisfa la condizione data.

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)

Produzione:

[array([1, 2, 4, 5])]

Questo produce gli indici di tutte le righe i cui valori nella colonna Sales sono maggiori o uguali a 300.

pandas.DataFrame.query() per ottenere gli indici di tutte le righe la cui colonna specifica soddisfa una determinata condizione

pandas.DataFrame.query() restituisce DataFrame risultante dall’espressione di query fornita. Ora, possiamo usare l’attributo index di DataFrame per restituire gli indici di tutte le righe la cui particolare colonna soddisfa la condizione data.

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)

Produzione:

[1, 4, 5]

Restituisce l’lista degli indici di tutte le righe la cui particolare colonna soddisfa la condizione data Sales == 300.

Articolo correlato - Pandas DataFrame

  • Crea una colonna vuota in Pandas DataFrame
  • Converti JSON in un DataFrame Pandas
  • Articolo correlato - Pandas DataFrame Row

  • Prendi sezioni di colonna di DataFrame in Pandas
  • Converti la colonna DataFrame di Pandas in lista
  • Articolo correlato - Pandas DataFrame Column

  • Mostra tutte le colonne di un DataFrame Pandas
  • Pandas Copia DataFrame