Devuelva la etiqueta del índice si se cumple alguna condición sobre una columna en Pandas Dataframe

Dado un marco de datos, devuelve todas aquellas etiquetas de índice para las que se cumple alguna condición sobre una columna específica.

Solución #1: Podemos usar una operación de indexación simple para seleccionar todos esos valores en la columna que satisface la condición dada.

# importing pandas as pd
import pandas as pd
  
# Create the dataframe
df = pd.DataFrame({'Date':['10/2/2011', '11/2/2011', '12/2/2011', '13/2/2011'],
                   'Product':['Umbrella', 'Matress', 'Badminton', 'Shuttle'],
                   'Last_Price':[1200, 1500, 1600, 352],
                   'Updated_Price':[1250, 1450, 1550, 400],
                   'Discount':[10, 10, 10, 10]})
  
# Create the indexes
df.index =['Item 1', 'Item 2', 'Item 3', 'Item 4']
  
# Print the dataframe
print(df)

Producción :

Ahora, queremos averiguar las etiquetas de índice de todos los artículos cuyo ‘Precio_actualizado’ es mayor que 1000.

# Select all the rows which satisfies the criteria
# convert the collection of index labels to list.
Index_label = df[df['Updated Price']>1000].index.tolist()
  
# Print all the labels
print(Index_label)

Salida:

como podemos ver en la salida, la operación anterior ha evaluado correctamente todos los valores y ha devuelto una lista que contiene las etiquetas de índice.
 
Solución #2: Podemos usar Dataframe.query()la función Pandas para seleccionar todas las filas que cumplan alguna condición sobre una columna determinada.

# importing pandas as pd
import pandas as pd
  
# Create the dataframe
df = pd.DataFrame({'Date':['10/2/2011', '11/2/2011', '12/2/2011', '13/2/2011'],
                   'Product':['Umbrella', 'Matress', 'Badminton', 'Shuttle'],
                   'Last_Price':[1200, 1500, 1600, 352],
                   'Updated_Price':[1250, 1450, 1550, 400],
                   'Discount':[10, 10, 10, 10]})
  
# Create the indexes
df.index =['Item 1', 'Item 2', 'Item 3', 'Item 4']
  
# Print the dataframe
print(df)

Producción :

Ahora, queremos averiguar las etiquetas de índice de todos los artículos cuyo ‘Precio_actualizado’ es mayor que 1000.

# Select all the rows which satisfies the criteria
# convert the collection of index labels to list.
Index_label = df.query('Updated_Price > 1000').index.tolist()
  
# Print all the labels
print(Index_label)

Producción :

Publicación traducida automáticamente

Artículo escrito por Shubham__Ranjan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *