Formas de aplicar una condición if en Pandas DataFrame – Part 1

En general, en un marco de datos de Pandas, la condición if se puede aplicar en forma de columna, de fila o de celda individual. El documento adicional ilustra cada uno de estos con ejemplos.

En primer lugar crearemos el siguiente DataFrame:

# importing pandas as pd
import pandas as pd
  
# create the DataFrame
df = pd.DataFrame({
    'Product': ['Umbrella', 'Matress', 'Badminton', 
                'Shuttle', 'Sofa', 'Football'],
    'MRP': [1200, 1500, 1600, 352, 5000, 500],
    'Discount': [0, 10, 0, 10, 20, 40]
})
  
# display the DataFrame
print(df)

Producción : 

Ejemplo 1: condición if en valores de columna (tuplas): la condición if se puede aplicar en valores de columna como cuando alguien solicita todos los artículos con MRP <= 2000 y descuento> 0, el siguiente código lo hace. De manera similar, se puede aplicar cualquier número de condiciones en cualquier número de atributos del DataFrame. 

# if condition with column conditions given
# the condition is if MRP of the product <= 2000 
# and discount > 0 show me those items
df[(df['MRP'] <= 2000) & (df['Discount'] > 0)]

Producción : 

Ejemplo 2: condición if en valores de fila (tuplas): Esto puede tomarse como un caso especial para la condición en valores de columna. Si se proporciona una tupla (Sofá, 5000, 20) y encontrarla en el DataFrame se puede hacer como:

# if condition with row tuple given
df[(df['Product'] == 'Sofa') & (df['MRP'] == 5000) & (df['Discount']== 20)]

Producción : 

Ejemplo 3: uso de la función Lambda: la función Lambda toma una entrada y devuelve un resultado basado en una determinada condición. Se puede utilizar para aplicar una determinada función en cada uno de los elementos de una columna en Pandas DataFrame. El siguiente ejemplo utiliza la función Lambda para establecer un límite superior de 20 en el valor de descuento, es decir, si el valor de descuento > 20 en cualquier celda, se establece en 20.

# importing pandas as pd 
import pandas as pd 
  
# Create the dataframe 
df = pd.DataFrame({
    'Product': ['Umbrella', 'Matress', 'Badminton', 
                'Shuttle', 'Sofa', 'Football'],
    'MRP': [1200, 1500, 1600, 352, 5000, 500],
    'Discount': [0, 10, 0, 10, 20, 40]
})
  
# Print the dataframe 
print(df) 
  
# If condition on column values using Lambda function 
df['Discount'] = df['Discount'].apply(lambda x : 20 if x > 20 else x)
print(df)

Producción :

Ejemplo 4: uso de la función iloc()o loc() : tanto la función iloc()como loc() se utilizan para extraer el marco de datos secundario de un marco de datos. El sub DataFrame puede ser cualquier cosa, desde una sola celda hasta toda la tabla. iloc()generalmente se usa cuando conocemos el rango de índice para la fila y la columna, mientras que loc()se usa en una búsqueda de etiquetas.

El siguiente ejemplo muestra el uso de ambas funciones para impartir condiciones en el marco de datos. Aquí se toma una celda con índice [2, 1] que es el MRP del producto Badminton. 

# If condition on a cell value using iloc() or loc() functions
# iloc() is based on index search and loc() based on label search
  
# using iloc()
if df.iloc[2, 1] > 1500:
  print("Badminton Price > 1500")
else:
  print("Badminton Price < 1500")
  
# using loc()
print(df.loc[2, 'MRP'])
if df.iloc[2, 'MRP'] > 1500:         
  print("Badminton Price > 1500")
else:
  print("Badminton Price < 1500")

Producción : 

Publicación traducida automáticamente

Artículo escrito por arnabfromjec05 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 *