시작에 앞서
해당 내용은 '<파이썬 머신러닝 완벽 가이드> 권철민 지음. 위키북스' 를 토대로 작성되었습니다. 보다 자세한 내용은 해당 서적에 상세히 나와있으니 서적을 참고해 주시기 바랍니다.
이전 내용
sort_values( ): DataFrame, Series 정렬
sort_values( ): DataFrame, Series 정렬을 위해서 사용하는 메서드. RDBMS SQL의 order by 키워드와 매우 유사하다.
[주요 입력 파라미터]
- by: 특정 칼럼을 입력하면 해당 칼럼으로 정렬 수행
- ascending; 오름차순, 내림차순 정렬 (ascending=True: 오름차순 - 기본값 / False: 내림차순)
- inplace: 원본 유지 여부. (inplace=False: 원래 DataFrame 유지 - 기본값 / True: 반환되는 값으로 원본이 변경됨)
★ 여러 칼럼을 기준으로 정렬할 때에는 by에 리스트 형식으로 정렬하려는 칼럼을 입력하면 된다.
Aggregation (집계) 함수
DataFrame에서 min, max, sum, count와 같은 집계 함수 (RDBMS SQL의 aggregation 함수 적용과 유사)
다만 DataFrame의 경우 DataFrame에 바로 집계 함수를 호출 시 모든 칼럼에 해당 집계 함수를 적용한다는 차이가 있다.
▶ count( )는 Null 값을 반영하지 않은 결과를 반홚나기 때문에 Null 값이 있는 Age, Cabin, Embarked 칼럼은 count( )의 결과 값이 다르다.
★ 특정 칼럼에 집계 함수를 적용하기 위해서는 DataFrame에 대상 칼럼들만 추출해 적용하면 된다.
groupby( ) 적용
DataFrame의 groupby( ) 는 RDBMS SQL의 groupby 키워드와 유사하면서도 다른 면이 있다.
유사한 면은 둘 다 groupby를 분석 작업에 매우 많이 활용한다는 것이다.
DataFrame의 groupby( ) 사용 시 입력 파라미터 by에 칼럼을 입력하면 대상 칼럼으로 groupby된다.
DataFrame에 groupby( )를 호출하면 DataFrameGroupBy 라는 또 다른 형태의 DataFrame을 반환한다.
SQL 과는 다르게, groupby( ) 대상 칼럼을 제외한 모든 칼럼에 해당 집계 함수를 적용한다.
※ SQL의 경우 group by 적용 시 여러 개의 칼럼에 집계 함수를 호출하려면 대상 칼럼을 모두 Select 절에 나열해야 한다.
(예. Select count(PassengerId), count(Survived), .. from titanic_table group by Pclass)
★ 특정 칼럼만 집계 함수를 적용하려면 groupby( )로 반환된 DataFrameGroupBy 객체에 해당 칼럼을 필터링한 뒤 집계 함수를 적용한다.
DataFrame의 groupby( )와 SQL group by 의 또 다른 차이는
- SQL: 서로 다른 집계 함수를 적용할 경우 Select 절에 나열 (예. Select max(Age), min(Age) from titanic_table group by Pclass)
- DataFrame: 적용하려는 여러 개의 집계 함수명을 DataFrameGroupBy 객체의 agg( ) 내에 인자로 입력해서 사용
DataFrame의 groupby( )를 이용해 API 기반으로 처리는 SQL의 group by보다 유연성이 떨어진다.
groupby( ) 는 agg( )를 이용해 agg( ) 내에 입력값으로 딕셔너리 형태로 집계가 적용될 칼럼들과 집계 함수를 입력한다.
오늘 쓰다가 세번 날아가서 여기까지만....ㅠㅠ
다음글
'[파이썬 Projects] > <파이썬 기초>' 카테고리의 다른 글
[파이썬] 파이썬 기초: 자료형 - 숫자형 (0) | 2024.06.13 |
---|---|
[파이썬] 판다스 (Pandas) - 5 (0) | 2024.05.29 |
[파이썬] 판다스 (Pandas) - 3 (0) | 2024.05.27 |
[파이썬] 판다스 (Pandas) - 2 (0) | 2024.05.25 |
[파이썬] 판다스 (Pandas) - 1 (0) | 2024.05.25 |