La función de Pandas DataFrame.isin() de la Biblioteca Python Pandas se utiliza para verificar de manera rápida y eficiente si ciertos valores están presentes en un DataFrame. Esta función es especialmente útil cuando se desea comprobar varios valores al mismo tiempo.

Web Hosting
El hosting como nunca lo habías visto
  • Rápido, seguro, flexible y escalable
  • Seguro con SSL y protección DDoS
  • Dominio y asesor personal incluidos

Sintaxis de la función isin() de Pandas

Pandas isin() acepta solo un parámetro, por lo que la sintaxis básica de la función es muy sencilla y es la siguiente:

DataFrame.isin(values)
python

El parámetro values puede ser una lista de Python, un diccionario o incluso otro DataFrame y contiene los valores que se desean buscar en el DataFrame original.

Consejo

Si no estás trabajando con DataFrames de Pandas, sino con Series, te recomendamos usar la función equivalente llamada Series.isin().

Aplicación de la función isin()

Las posibilidades de aplicación de isin() son variadas: con esta función no solo puedes verificar la presencia de valores, sino también filtrar tu DataFrame.

Verificación de la presencia de valores en una columna

A continuación, se considerará un DataFrame con información sobre diferentes personas y sus lugares de residencia.

import pandas as pd
# Crear un DataFrame de ejemplo
data = {
    'Nombre': ['Alicia', 'Tomás', 'Charlie', 'David'],
    'Ciudad': ['Nueva York', 'Los Ángeles', 'Chicago', 'Houston']
}
df = pd.DataFrame(data)
print(df)
python

El DataFrame resultante tiene el siguiente aspecto:

Nombre      Ciudad
0     Alicia    Nueva York
1    Tomás   Los Ángeles
2    Charlie     Chicago
3    David     Houston

Ahora se utilizará Pandas isin() para verificar si ciertas ciudades están presentes en la columna correspondiente. Para ello, se crea una lista con las ciudades que se desea comprobar y luego se aplica la función en la columna del DataFrame llamada ‘Ciudad’:

# Ciudades que se desea verificar
cities_to_check = ['Chicago', 'Houston', 'Miami']
# Aplicación de la función isin()
result = df['Ciudad'].isin(cities_to_check)
print(result)
python

El resultado es una serie de valores booleanos que indica si cada ciudad está presente en la lista:

0    False
1    False
2     True
3     True
Name: Ciudad, dtype: bool

Filtrado de un DataFrame con isin()

Pandas isin() también se puede utilizar para filtrar el DataFrame y conservar solo las filas en las que las ciudades de cities_to_check están presentes.

# Filtrado del DataFrame basado en isin()
filtered_df = df[df['Ciudad'].isin(cities_to_check)]
print(filtered_df)
python

El resultado es un DataFrame que solo contiene las filas con las ciudades que también están presentes en la lista de comparación cities_to_check:

Nombre    Ciudad
2     Charlie   Chicago
3    David   Houston

Verificar varias columnas

Para realizar operaciones de filtrado más complejas, Pandas isin() también puede utilizarse con diccionarios. En el siguiente ejemplo, se muestra cómo trabajar con un diccionario para verificar varias columnas de un DataFrame al mismo tiempo. Para ello, se añade una columna al DataFrame original y luego se utiliza la función isin():

# Crear un DataFrame de ejemplo
data = {
    'Nombre': ['Alicia', 'Tomás', 'Charlie', 'David'],
    'Ciudad': ['Nueva York', 'Los Ángeles', 'Chicago', 'Houston'],
    'Edad': [25, 30, 35, 40]
}
df = pd.DataFrame(data)
# Diccionario con los valores que se desean verificar
values_to_check = {
    'Ciudad': ['Chicago', 'Houston'],
    'Edad': [30, 40]
}
# Aplicar isin() con un diccionario
result = df.isin(values_to_check)
print(result)
python

La llamada a la función Pandas isin() en este caso devuelve un DataFrame con valores booleanos que indican si se cumplen las condiciones en las respectivas columnas:

Nombre  Ciudad   Edad
0    False   False  False
1    False   False   True
2    False    True  False
3    False    True   True
¿Le ha resultado útil este artículo?
Ir al menú principal