✳️ Boolean indexing
- 특정 조건을 만족하는 데이터를 선택할 경우에 사용한다.
- 데이터를 필터링하거나 원하는 조건을 만족하는 행을 추출 가능
- 불리언 값을 가지는 조건식을 사용하여 데이터프레임을 인덱싱하는 방
df = pd.read_csv('pandas_practice/tips_data.csv')
df
- boolean indexing은 조건을 형성할 때 유용하다!
# 데이터 프레임을 불러올 때, [] 안에 조건을 넣으면 조건에 대해 참인 경우를 출력
df[df['sex'] == 'Male']
- 교집합 ( & )
df[(df['sex'] == 'Male') & (df['smoker'] == 'Yes')]
- 합집합 ( | )
df[(df['sex'] == 'Male') | (df['smoker'] == 'Yes')]
- 조건에 따른 특정 컬럼 필터링
df.loc[df['size'] > 3, :] # size 컬럼의 값이 3 초과인 조건을 만족한 모든 데이터를 보여줘
# size가 3 초과인 조건을 만족하는 tip부터 smorker 컬럼까지의 값을 보여줘
df.loc[df['size'] > 3, 'tip':'smoker']
- isin()을 활용한 필터링
Series(시리즈)나 DataFrame(데이터프레임)의 값들 중에서 특정 값이나 리스트 안에 포함된 값들을 찾아내는 메소드 원하는 조건에 해당하는 데이터를 빠르게 필터링하거나 선택할 수 있음
- 단일 값 포함 여부 확인
# size 컬럼에 값이 5를 포함하는 데이터를 보여줘
df[df['size'].isin([5])]
- 여러 값 포함 여부 확인
# size 컬럼의 값이 1 또는 2를 포함하는 데이터들을 보여줘
df[df['size'].isin([1, 2])]
# day 컬럼의 값이 Sun 또는 Sat을 포함하는 데이터를 보여줘
df[df['day'].isin(['Sun', 'Sat'])]
- 데이터프레임 전체에서의 사용
# 데이터프레임에서 size는 3을 포함하고 day는 Sat 또는 Sun을 포함하는 것을 보여줘
df.isin({'size' : [3], 'day' : ['Sat', 'Sun']})
- 조건을 여러개 지정하여 데이터를 확인할 때 - 변수를 지정해주면 좋아용
cond1 = df['size'] >= 3
cond2 = df['tip'] < 2
df[cond1 & cond2]
# 줄바꿈 표시는 '\' 이다! 유용하게 잘 쓰면서 행갈이를 해보자
c = (df['sex'] == 'Male') \
& (df['tip'] > 3) \
& (df['smoker'] == 'Yes') \
& (df['total_bill'] >= 20) \
& (df['size'] == 4)
df[c]
'📒 Today I Learn > 🐼 Pandas' 카테고리의 다른 글
[Pandas] 데이터 병합 (0) | 2024.07.23 |
---|---|
[Pandas] 데이터 추가하기 (0) | 2024.07.23 |
[Pandas] 데이터 선택 (0) | 2024.07.23 |
[Pandas] 데이터 타입 확인과 변경 (0) | 2024.07.19 |
[Pandas] 데이터 확인 (0) | 2024.07.19 |