반응형
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
반응형
'파이썬완전정복-Pandas DataFrame > 12. 데이터 확인' 카테고리의 다른 글
Pandas DataFrame 12-06 일치 여부 (equals) (0) | 2022.01.26 |
---|---|
Pandas DataFrame 12-05 결측값이 아닌 요소의 수 (count) (0) | 2022.01.25 |
Pandas DataFrame 12-04 요소의 True/False 확인 (all / any) (0) | 2022.01.25 |
Pandas DataFrame 12-02. 비어있는지 확인 (empty) (0) | 2022.01.25 |
Pandas DataFrame 12-01. 최대/최소값이 포함된 행/열 (idxmax / idxmin) (0) | 2022.01.25 |