반응형

12-03 일치하는 요소 확인 (isin)

DataFrame.isin(values)

 

개요


isin메서드는 DataFrame객체의 각 요소가 values값과 일치하는지 여부를 bool형식으로 반환합니다.

 

사용법


기본 사용법
df.isin(values)
values: Iterable, Series, DataFrame, dict등이 올 수 있습니다.
Series일 경우 : Index가 일치해야 합니다.
DataFrame일 경우 : Index와 열 레이블이 일치해야 합니다.
Dict일 경우 : key는 열 레이블 입니다.

 

예시


먼저 3x3 의 기본적인 DataFrame객체를 하나 만들어보겠습니다.

data = [[1,1,1],[2,3,4],[5,3,6]]
col = ['col1','col2','col3']
row = ['row1','row2','row3']
df = pd.DataFrame(data=data,index=row,columns=col)
print(df)
>>
      col1  col2  col3
row1     1     1     1
row2     2     3     4
row3     5     3     6

list의 사용
리스트를 이용하여 1과 3이 포함된 요소를 확인해보겠습니다.

result = df.isin([1,3])
print(result)
>>
       col1  col2   col3    # 1과3인 경우 True를 반환하는것을 확인 할 수 있습니다.
row1   True  True   True
row2  False  True  False
row3  False  True  False


dict의 사용
dict를 사용해서 col1에서는 2,3인 경우, col3에서는 1,6이 포함된 요소를 확인해보겠습니다.

result = df.isin({'col1':[2,3],'col3':[1,6]})
print(result)
>>
       col1   col2   col3
row1  False  False   True
row2   True  False  False
row3  False  False   True


Series 와 DataFrame의 사용
DataFrame객체를 사용하기위해 match_df라는 DataFrame객체를 하나 만들어보겠습니다.

match_col = ['col1','col3']
match_row = ['row1','row3']
match_data = [[2,3],[1,6]]
match_df = pd.DataFrame(data=match_data,index=match_row,columns=match_col)
print(match_df)
>>
      col1  col3
row1     2     3
row3     1     6

이제 이 match_df를 value isin 메서드를 사용해보겠습니다.

result = df.isin(match_df)
print(result)
>>
       col1   col2   col3   # match_df에 지정된 row,col의 값과 일치할 때만 True를 반환합니다.
row1  False  False  False
row2  False  False  False
row3  False  False   True
반응형

+ 최근 글