Función Pandas DataFrame DataFrame.isin()
-
La sintaxis de
pandas.DataFrame.isin(values)
-
Códigos de ejemplo:
DataFrame.isin()
Coniterable
como entrada -
Códigos de ejemplo:
DataFrame.isin()
ConDiccionario
como entrada -
Códigos de ejemplo:
DataFrame.isin()
ConSeries
como entrada -
Códigos de ejemplo:
DataFrame.isin()
ConDataFrame
como entrada
La función pandas.DataFrame.isin(values)
comprueba si cada elemento de la llamada DataFrame contiene el valor especificado en los values
de entrada.
La sintaxis de pandas.DataFrame.isin(values)
DataFrame.isin(values)
Parámetros
values |
Iterable - list , tuple , set , etc. </Dictionary , Series , DataFrame … |
Retorna
Devuelve un DataFrame
de Booleans de la misma dimensión del llamador DataFrame
indicando si cada elemento contiene los “valores” de entrada.
Códigos de ejemplo: DataFrame.isin()
Con iterable
como entrada
Cuando la Python iterable
es la entrada, la función DataFrame.isin()
de Pandas comprueba si cada valor en el DataFrame
contiene algún valor en el iterable
.
import pandas as pd
df = pd.DataFrame({'Sales': [100, 200], 'Profit': [200, 400]})
df = df.isin([200, 400])
print(df)
La llamada DataFrame
es
Sales Profit
0 100 200
1 200 400
Resultado:
Sales Profit
0 False True
1 True True
Aquí, 200 y 400 presentes en la lista [200, 400]
, por lo tanto, los valores en el DataFrame
devuelto cuyos valores originales son 200 y 400 son True
. El valor 100
no está en la lista [200, 400]
, por lo tanto, el valor en su posición devuelve False
.
Códigos de ejemplo: DataFrame.isin()
Con Diccionario
como entrada
Si el tipo de valor de entrada es Diccionario
, la función isin()
comprueba no sólo los valores sino también la clave
. Devuelve True
sólo cuando el nombre de la columna es el mismo que la clave
y el valor de la celda contiene en el valor
del diccionario.
import pandas as pd
df = pd.DataFrame({"Sales": [100, 200], "Profit": [200, 400]})
df = df.isin({"Sales": [200, 400]})
print(df)
Resultado:
Sales Profit
0 False False
1 True False
En el primer ejemplo, los valores de las columnas Profit
son ambos True
pero son Falsos
en este ejemplo porque el nombre de la columna es diferente de la clave
del diccionario de entrada.
Devuelve True
en la columna Sales
si el valor está contenido en el valor del diccionario - [200, 400]
.
Códigos de ejemplo: DataFrame.isin()
Con Series
como entrada
Si el tipo de valor de entrada es Pandas Series
, la función isin()
comprueba si el elemento por columna es el mismo que el valor en el mismo índice de la entrada Series
.
import pandas as pd
df = pd.DataFrame({"Sales": [100, 200], "Profit": [200, 400]})
valueSeries = pd.Series([200, 400])
print(valueSeries)
df = df.isin(valueSeries)
print(df)
Resultado:
0 200
1 400
dtype: int64
Sales Profit
0 False True
1 False True
Los elementos de la columna Profit
son los mismos que los elementos de la entrada Series
, por lo tanto, devuelve True
para ambos elementos de esa columna.
Códigos de ejemplo: DataFrame.isin()
Con DataFrame
como entrada
Si el tipo de valor de entrada es Pandas DataFrame
, la función isin()
comprueba que cada elemento en el llamador DataFrame
es el mismo que el elemento de la entrada DataFrame
en la misma posición.
Devuelve True
cuando los valores son idénticos, o False
en el caso de falta de coincidencia.
import pandas as pd
df = pd.DataFrame({"Sales": [100, 200], "Profit": [200, 400]})
print(df)
valueDf = pd.DataFrame({"Sales": [100, 200], "Profit": [200, 300]})
print(valueDf)
df = df.isin(valueDf)
print(df)
Resultado:
Sales Profit
0 100 200
1 200 400
Sales Profit
0 100 200
1 200 300
Sales Profit
0 True True
1 True False
El valor en la posición (1, 1)
devuelve False
porque los valores son diferentes entre la llamada DataFrame y la entrada DataFrame.
isin()
no sólo comprueba el elemento de valor, sino que también comprueba si el nombre de la columna es idéntico. Devuelve False
si los nombres de las columnas son diferentes incluso si el valor es el mismo en estos dos DataFrames.Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook