Python/Pandas

[Pandas] 필터링

죵욜이 2024. 12. 16. 01:52

조건을 사용한 필터링

  • 조건을 걸어 특정 열의 값이 일정 조건을 만족하는 을 선택할 수 있음
import pandas as pd

df = pd.DataFrame({
    'A': [1, 2, 3, 4],
    'B': [10, 20, 30, 40]
})

# 'A' 열 값이 2보다 큰 행 선택
filtered_df = df[df['A'] > 2]
print(filtered_df)
# 출력
   A   B
2  3  30
3  4  40

여러 조건을 결합하여 필터링

  •  & (AND)또는 | (OR) 연산자를 사용하여 여러 조건을 결합 가능
# 'A' 열 값이 2보다 크고, 'B' 열 값이 30보다 작은 행 선택
filtered_df = df[(df['A'] > 2) & (df['B'] < 40)]
print(filtered_df)
# 출력
   A   B
2  3  30

 ~  연산자 (부정 연산자)

  • 특정 조건을 부정하는 데이터를 선택할 때 사용
  •  != not  과 비슷한 결

 isin()  함수

  • 열 값이 특정 값들 중에 포함되어 있는지 확인할때 사용
# 특정 값이 포함되지 않은 행 필터링
filtered_df = df[~df['A'].isin([1, 4])]
print(filtered_df)
# 출력
   A   B
1  2  20
2  3  30

문자열 조건을 사용한 필터링

  • 문자열 값에 대해  str.contains()  나  str.startswith()  등의 메서드도 사용 가능
# 'A' 열 값이 2 이상이고, 'B' 열 값에 '3'이 포함된 행 선택
filtered_df = df[df['B'].astype(str).str.contains('3')]
print(filtered_df)
# 출력
   A   B
2  3  30
3  4  40