La función de Pandas DataFrame.isin() de la Bi­blio­te­ca 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 es­pe­cia­l­me­n­te útil cuando se desea comprobar varios valores al mismo tiempo.

Web Hosting
El hosting que crece con tu proyecto
  • Tiempo de actividad de 99.99 % y seguridad ga­ra­n­ti­za­da
  • Aumenta el re­n­di­mie­n­to según el tráfico de tu página web
  • Incluye dominio, SSL, e-mail y soporte 24/7

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 di­c­cio­na­rio o incluso otro DataFrame y contiene los valores que se desean buscar en el DataFrame original.

Consejo

Si no estás tra­ba­ja­n­do con Da­ta­Fra­mes de Pandas, sino con Series, te re­co­me­n­da­mos usar la función equi­va­le­n­te llamada Series.isin().

Apli­ca­ción de la función isin()

Las po­si­bi­li­da­des de apli­ca­ción de isin() son variadas: con esta función no solo puedes verificar la presencia de valores, sino también filtrar tu DataFrame.

Ve­ri­fi­ca­ción de la presencia de valores en una columna

A co­n­ti­nua­ción, se co­n­si­de­ra­rá un DataFrame con in­fo­r­ma­ción sobre di­fe­re­n­tes personas y sus lugares de re­si­de­n­cia.

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 re­su­l­ta­n­te 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 co­rre­s­po­n­die­n­te. 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 co­m­pa­ra­ción cities_to_check:

Nombre    Ciudad
2     Charlie   Chicago
3    David   Houston

Verificar varias columnas

Para realizar ope­ra­cio­nes de filtrado más complejas, Pandas isin() también puede uti­li­zar­se con di­c­cio­na­rios. En el siguiente ejemplo, se muestra cómo trabajar con un di­c­cio­na­rio 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 co­n­di­cio­nes en las re­s­pe­c­ti­vas columnas:

Nombre  Ciudad   Edad
0    False   False  False
1    False   False   True
2    False    True  False
3    False    True   True
Ir al menú principal