728x90
반응형
# 코드잇 데이터 사이언티스트 강의 듣는 중
<query()로 불린 인덱싱>
- 일반적인 불린 인덱싱
loan_df[loan_df['income'] > 5000]
- .query() 를 사용하면 더 간단해짐.
- 데이터 프레임 객체의 쿼리 메소드로 들어가서 ('조건 식') 을 넣어주기만 하면 됨. 데이터 프레임을 계속 안 써도 되서 더 짧아짐.
loan_df.query('income > 5000')
- 변수의 비교도 가능
income_mean = loan_df['income'].mean()
loan_df.query('income > @income_mean')
--> 굳이 길게 안 써도 되니깐 훨씬 깔끔 해짐.
--> 대신, 만든 변수 앞에는 @를 넣어줘야 함 (아니면 에러 뜸)
- 문자열도 그냥 조건문 ""/'' 넣어주면 됨.
- 만약에 컬럼명에 공백이 있으면 `property area` --> 백틱``으로 컬럼명을 감싸면 됨.
loan_df.query("property_area == 'City'")
- True 나 False 값을 리턴하는 다양한 형태의 조건식에 in 이나 not in을 사용
--> 벡터에서 특정 값만 추출 or 추출하지 않게 가능.
loan_df.query("property_area in ['City', 'Suburb']")
--> .query("칼럼명 in ['벡터', '벡터']")
loan_df.query("property_area not in ['City', 'Suburb']")
--> .query("칼럼명 not in ['벡터', '벡터']")
<query()로 다중 불린 인덱싱>
- 연산자 사용 가능
- 각각의 조건식을 괄호로 묶는 것이 더 좋음.
- 특히, not ~의 경우 조건식을 묶지 않으면 에러가 뜰 수 있음.
loan_df.query("(married = 'Y') & (amount > @income_mean)")
- 쿼리를 사용하면, 데이터가 많아질 때 속도가 조금 느려질 수 는 있음.
++ 쟈스의 제이쿼리 같은 것인가??
었쨌든 쓰기가 훨씬 편하니 이렇게도 연습해봐야 겠다.
728x90
반응형
'Data Science > Pandas' 카테고리의 다른 글
[데이터 전처리] 결측값 missing value 찾기, 처리하기 (0) | 2024.06.17 |
---|---|
[Pandas] 엑셀xlsx , csv파일로 내보내기 (0) | 2024.06.15 |
[Pandas] 엑셀xlsx 파일 불러오기 (0) | 2024.06.13 |
[EDA] 데이터 합치기 .merge; inner join, left outer join, right outer join, full outer join (0) | 2024.06.09 |
[EDA] 카테고리 분류, .groupby (0) | 2024.06.09 |