Formas de aplicar una condición if en Pandas DataFrame

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

Deja una respuesta

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