Condition - 조건
- DataFrame에 조건을 추가하여 해당 조건에 부합하는 DataFrame을 출력하는 것들을 보여드리겠습니다.
- 이제 보여줄 코드들은 매우 쉬운 코드들로 연산자를 사용하여 필터링 한다 보면 될 거 같습니다.
# total_bill의 값이 30보다 큰 값들의 데이터 프레임을 가져온다.
bool_series = df['total_bill'] > 30
df[bool_series]
# 위의 코드와 같은 것이지만 아래 방법으로도 사용 가능하다.
df[df['total_bill']>30]
- 위의 그림과 같이 total_bill을 확인하면 30보다 큰 값들을 가져온 것을 확인 할 수 있습니다.
# 숫자만 가능한 것이 아닌 파이썬에서 사용하는 방식 그대로 문자열 또한 가능하다.
df[df['sex'] == 'Male']
- 이 또한 성별이 남성인 데이터들만 가져온 것을 확인 할 수 있습니다.
Multiple Conditions
- 조건을 얻습니다.
- 각 조건을 괄호로 감쌉니다.
- OR 연산자 | 또는 AND 연산자 &를 사용합니다.
- OR |: 두 조건 중 하나라도 참일 경우
- AND &: 두 조건이 모두 참이어야 할 경우
- ~ 연산자를 사용하여 NOT 연산을 수행할 수도 있습니다.
- 여기서의 중요한 점은 파이썬은 논리연산자를 사용할 때 "||, &&" 이렇게 사용하였으나, DataFrame에서는 문자 하나만 사용하면 됩니다.
# 1. totla_bill이 30보다 크고 남성인 데이터 출력
df[(df['total_bill'] > 30) & (df['sex']=='Male')]
# 2. totla_bill이 30보다 크고 여성이 아닌 데이터 출력
df[(df['total_bill'] > 30) & ~(df['sex']=='Male')]
# 3. day가 주말인 데이터들만 출력
df[(df['day'] =='Sun') | (df['day']=='Sat')]
위의 그림은 첫번째, 두번째의 코드결과입니다.
즉, 논리연산자를 사용하여 두 개 이상의 조건을 넣어 데이터를 출력할 수 있습니다.
Conditional Operator isin()
- '.isin()' 연산자를 사용하여 특정 옵션 목록으로 필터링할 수 있습니다.
- 해당 연산자를 사용하면 출력 값은 bool(True, False) 형으로 출력이 됩니다.
- bool 값으로 데이터프레임 값 또한 출력이 가능합니다.
# isin 연산자 사용하여 day가 주말인 모든 인덱스의 값들을 True, False로 출력합니다.
options = ['Sat','Sun']
df['day'].isin(options)
- bool 값으로 데이터프레임 값 또한 출력이 가능합니다. 예를 들어 True인 값들만 가져오는 것입니다.(조건 부여)
# 주말인 데이터들만 가져옴
df[df['day'].isin(['Sat','Sun'])]
여러 Condition을 적용하는 방법을 알아보았습니다. 이상입니다.
728x90
'Data Analyst > ML' 카테고리의 다른 글
ML - PANDAS(Useful Methods) - 2 (0) | 2024.08.31 |
---|---|
ML - PANDAS(Useful Method) - 1 (0) | 2024.08.31 |
ML - PANDAS(DATA FRAME) - 2 (1) | 2024.08.28 |
ML - PANDAS(Data Frame) - 1 (0) | 2024.08.28 |
ML - Pandas(Series) (1) | 2024.08.27 |