Analicemos las diferentes formas de aplicar la condición If a un marco de datos en pandas.
1) Aplicar la condición IF en Números
Vamos a crear un DataFrame de Pandas que tenga 5 números (digamos del 51 al 55). Apliquemos condiciones IF para la siguiente situación. Si el número en particular es igual o menor que 53, entonces asigne el valor de ‘Verdadero’. De lo contrario, si el número es mayor que 53, entonces asigne el valor de ‘Falso’.
Sintaxis:
df.loc[df[‘column name’] condition, ‘new column name’] = ‘valor si se cumple la condición’
Ejemplo:
Python3
from pandas import DataFrame numbers = {'mynumbers': [51, 52, 53, 54, 55]} df = DataFrame(numbers, columns =['mynumbers']) df.loc[df['mynumbers'] <= 53, '<= 53'] = 'True' df.loc[df['mynumbers'] > 53, '<= 53'] = 'False' df
Producción:
2) Aplicar la condición IF con lambda
. Vamos a crear un Pandas DataFrame que tenga 5 números (digamos del 51 al 55). Apliquemos condiciones IF para la siguiente situación. Si el número en particular es igual o menor que 53, entonces asigne el valor de ‘Verdadero’. De lo contrario, si el número es mayor que 53, entonces asigne el valor de ‘Falso’.
Sintaxis:
df[‘nuevo nombre de columna’] = df[‘nombre de columna’].apply(lambda x: ‘valor si se cumple la condición’ if x condition else ‘valor si no se cumple la condición’)
Ejemplo:
Python3
from pandas import DataFrame numbers = {'mynumbers': [51, 52, 53, 54, 55]} df = DataFrame(numbers, columns =['mynumbers']) df['<= 53'] = df['mynumbers'].apply(lambda x: 'True' if x <= 53 else 'False') print (df)
Producción:
3) Aplicar la condición IF en strings
Nos ocuparemos del DataFrame que contiene solo strings con 5 nombres: Hanah, Ria, Jay, Bholu, Sachin. Las condiciones son: Si el nombre es igual a ‘Ria’, entonces asigne el valor de ‘Encontrado’. De lo contrario, si el nombre no es ‘Ria’, entonces asigne el valor de ‘No encontrado’.
Ejemplo:
Python3
from pandas import DataFrame names = {'First_name': ['Hanah', 'Ria', 'Jay', 'Bholu', 'Sachin']} df = DataFrame(names, columns =['First_name']) df.loc[df['First_name'] == 'Ria', 'Status'] = 'Found' df.loc[df['First_name'] != 'Ria', 'Status'] = 'Not Found' print (df)
Producción:
4) Aplicar la condición IF en strings usando lambda
Nos ocuparemos del DataFrame que contiene solo strings con 5 nombres: Hanah, Ria, Jay, Bholu, Sachin. Las condiciones son: Si el nombre es igual a ‘Ria’, entonces asigne el valor de ‘Encontrado’. De lo contrario, si el nombre no es ‘Ria’, entonces asigne el valor de ‘No encontrado’. Pero esta vez lo trataremos usando lambdas.
Ejemplo
Python3
from pandas import DataFrame names = {'First_name': ['Hanah', 'Ria', 'Jay', 'Bholu', 'Sachin']} df = DataFrame(names, columns =['First_name']) df['Status'] = df['First_name'].apply(lambda x: 'Found' if x == 'Ria' else 'Not Found') print (df)
Producción:
5) Aplicar la condición IF con OR
Nos ocuparemos del DataFrame que contiene solo strings con 5 nombres: Hanah, Ria, Jay, Bholu, Sachin. Las condiciones son: si el nombre es igual a «Ria» o «Jay», entonces asigne el valor de ‘Encontrado’. De lo contrario, si el nombre no es «Ria» o «Jay», asigne el valor de ‘No encontrado’.
Ejemplo
Python3
from pandas import DataFrame names = {'First_name': ['Hanah', 'Ria', 'Jay', 'Bholu', 'Sachin']} df = DataFrame(names, columns =['First_name']) df.loc[(df['First_name'] == 'Ria') | (df['First_name'] == 'Jay'), 'Status'] = 'Found' df.loc[(df['First_name'] != 'Ria') & (df['First_name'] != 'Jay'), 'Status'] = 'Not Found' print (df)
Producción:
Publicación traducida automáticamente
Artículo escrito por rutujakawade24 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA