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