Pandas DataFrame DataFrame.isin() 함수

Jinku Hu 2023년1월30일
  1. pandas.DataFrame.isin(values)구문
  2. 예제 코드: iterable을 입력으로 사용하는DataFrame.isin()
  3. 예제 코드: Dictionary를 입력으로 사용하는DataFrame.isin()
  4. 예제 코드: DataFrame.isin(),Series를 입력으로 사용
  5. 예제 코드: DataFrame.isin()입력으로DataFrame 사용
Pandas DataFrame DataFrame.isin() 함수

pandas.DataFrame.isin(values) 함수는 호출자 DataFrame의 각 요소를 확인합니다. 입력 values에 지정된 값을 포함합니다.

pandas.DataFrame.isin(values)구문

DataFrame.isin(values)

매개 변수

values iterable - list,tuple,set
Dictionary,
Series
DataFrame

반환

각 요소가 입력 values을 포함하는지 여부를 나타내는 호출자 DataFrame과 동일한 차원의 부울 DataFrame을 반환합니다.

예제 코드: iterable을 입력으로 사용하는DataFrame.isin()

Python iterable이 입력일 때 Pandas DataFrame.isin()함수는DataFrame의 각 값에iterable의 값이 포함되어 있는지 확인합니다.

import pandas as pd

df = pd.DataFrame({'Sales': [100, 200], 'Profit': [200, 400]})

df = df.isin([200, 400])
print(df)

호출자DataFrame

   Sales  Profit
0    100     200
1    200     400

출력:

   Sales  Profit
0  False    True
1   True    True

여기서 200과 400은[200, 400]목록에 있으므로 원래 값이 200과 400 인 반환 된DataFrame의 값은True입니다. 100[200, 400]목록에 없으므로 해당 위치의 값은 False를 반환합니다.

예제 코드: Dictionary를 입력으로 사용하는DataFrame.isin()

입력 값 유형이 Dictionary인 경우 isin()함수는 값뿐만 아니라 key도 확인합니다. 열 이름이 key와 같고 셀 값이 사전의 value에 포함 된 경우에만 True를 반환합니다.

import pandas as pd

df = pd.DataFrame({"Sales": [100, 200], "Profit": [200, 400]})

df = df.isin({"Sales": [200, 400]})
print(df)

출력:

   Sales  Profit
0  False   False
1   True   False

첫 번째 예에서 Profit열의 값은 모두 True이지만이 예에서는 열 이름이 입력 사전의 key와 다르기 때문에 False입니다.

사전의 value([200, 400])에 값이 포함되어 있으면 Sales열에 True를 반환합니다.

예제 코드: DataFrame.isin(),Series를 입력으로 사용

입력 값 유형이 Pandas Series 인 경우isin()함수는 열당 요소가 입력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)

출력:

0    200
1    400
dtype: int64
   Sales  Profit
0  False    True
1  False    True

Profit 열의 요소는 입력Series 요소 별 요소와 동일하므로 해당 열의 두 요소 모두에 대해True를 반환합니다.

예제 코드: DataFrame.isin()입력으로DataFrame 사용

입력 값 유형이 Pandas DataFrame 인 경우isin()함수는 호출자DataFrame의 각 요소가 동일한 위치에있는 입력DataFrame의 요소와 동일한 지 확인합니다.

값이 동일하면 True를, 불일치하면 False를 반환합니다.

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)

출력:

   Sales  Profit
0    100     200
1    200     400
   Sales  Profit
0    100     200
1    200     300
   Sales  Profit
0   True    True
1   True   False

(1, 1)위치의 값은 호출자 DataFrame과 입력 DataFrame간에 값이 다르기 때문에 False를 반환합니다.

경고
isin()함수는 요소 단위로 값을 검사 할뿐만 아니라 열 이름이 동일한 지 여부도 검사합니다. 이 두 DataFrames에서 값이 동일하더라도 열 이름이 다르면 False를 반환합니다.
작가: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

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

관련 문장 - Pandas DataFrame