Cómo obtener el índice de todas las filas cuya columna particular satisface la condición dada en Pandas

  1. Operación de indexación simple para obtener el índice de todas las filas cuya columna particular satisface la condición dada
  2. Método np.where() para obtener el índice de todas las filas cuya columna particular satisface la condición dada
  3. pandas.DataFrame.query() para obtener índices de todas las filas cuya columna particular satisface la condición dada

Podemos obtener el índice de todas las filas cuya columna particular satisface una condición dada en Pandas usando una operación de indexación simple. También podríamos encontrar sus índices utilizando el método where() del paquete NumPy y el método query() del objeto DataFrame.

Operación de indexación simple para obtener el índice de todas las filas cuya columna particular satisface la condición dada

El uso de una operación de indexación simple puede lograr la tarea de obtener el índice de filas cuya columna particular cumple con la condición dada.

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)

Producción:

[1, 2, 4, 5]

Aquí, df['Sales']>=300 da una serie de valores booleanos cuyos elementos son True si su columna Sales tiene un valor mayor o igual a 300.

Podemos recuperar el índice de filas cuyo valor de Sales es mayor o igual a 300 usando df[df['Sales']>=300].index.

Finalmente, el método tolist() convierte todos los índices en una lista.

Método np.where() para obtener el índice de todas las filas cuya columna particular satisface la condición dada

np.where() toma la condición como entrada y devuelve los índices de elementos que satisfacen la condición dada. Por lo tanto, podríamos usar np.where() para obtener índices de todas las filas cuya columna particular satisface la condición dada.

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)

Producción:

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

Esto genera índices de todas las filas cuyos valores en la columna Sales son mayores o iguales a 300.

pandas.DataFrame.query() para obtener índices de todas las filas cuya columna particular satisface la condición dada

pandas.DataFrame.query() devuelve DataFrame resultante de la expresión de consulta proporcionada. Ahora, podemos usar el atributo index de DataFrame para devolver índices de todas las filas cuya columna particular satisface la condición dada.

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)

Producción:

[1, 4, 5]

Devuelve la lista de índices de todas las filas cuya columna particular satisface la condición dada Ventas == 300.

Artículo relacionado - Pandas DataFrame

  • Cómo crear una columna vacía en Pandas DataFrame
  • Convertir la columna de Pandas Dataframe a una lista
  • Artículo relacionado - Pandas DataFrame Row

  • Comparar el objeto DataFrame de Pandas
  • Cómo cambiar el orden de las columnas Pandas DataFrame
  • Artículo relacionado - Pandas DataFrame Column

  • Convertir valores de columna de Pandas a cadena
  • Normalizar una columna en Pandas Dataframe