특정 데이터(DataFrame)를 EDA 할 때에, 거의 반드시라고 해도 좋을 정도로 꼭 해주어야 하는 것 중 하나가 feature들의 기술통계량을 확인하는 것이다.
이 때, describe()을 사용한다.
바로 예시를 한번 보자.
아래와 같은 데이터가 있다.
9개의 컬럼을 가지며, 각 컬럼의 데이터 타입은 object, datetime, float, int형 등등이다.
그리고, 수치형 feature들의 데이터에 대해 평균값이 얼마일지, 최소값이나 최대값은 얼마일지 등등의 정보를 보고 싶다고 하자.
1. describe()
이럴 때 쓸 수 있는 것이 describe()다.
사용법은 간단하다.
이렇게 코드 한 줄로 간단하게 확인할 수 있다.
그러나 위에서도 확인할 수 있듯 기술통계량이기 때문에 기본적으로 object형 데이터 타입을 가진 feature들의 정보는 나오지 않는다.
하지만 그러한 컬럼들에 대해서도 통계량을 확인해볼 수 있다.
어떻게?
2. describe(include='object')
describe()에 include='object'라는 파라미터를 추가해주면 된다!
백문이 불여일견이라, 확인해보자.
object라는 데이터 타입을 가진 컬럼들에 대한 정보를 보고 싶었던 본인은, include='object' 라는 파라미터를 추가했다.
그리고, 정보가 잘 출력된 것을 볼 수 있다.
당연하지만, 범주형 feature들이므로 min max 이런 게 나오지 않고(나올 수도 없거니와), count, unique, top, freq 가 표시된다.
order_id는
- 780502행(count)을 가지고
- 고유값(unique)의 개수는 43955개이며
- 가장 많이 등장하는 데이터(top)는 576339라는 데이터이고 가장 많이 나온 데이터인 576339는
- 총 542번 등장(freq)했음을 알 수 있다.
만족스러운 결과다.
허나, 욕심을 좀 더 부려서 범주형, 수치형 컬럼의 정보를 한 번에 보고 싶다면?
3. describe(include='all')
include='all' 이라는 파라미터를 추가하자.
범주형 feature를 위한 정보인 unique, top, freq는 수치형 feature에 대해서는 NaN을, 그 외의 정보는 범주형 feature에 대해서는 NaN을 출력함을 볼 수 있다.
더 많은 정보는 역시 공식 사이트를 참고해보도록 하자!
https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.describe.html
'STUDY > Python' 카테고리의 다른 글
[visualization] 결측치 시각화 - missingno (0) | 2024.01.19 |
---|---|
[Pandas] concat()과 merge()의 차이 (0) | 2024.01.16 |
[Pandas] idxmax(), idxmin() (2) | 2024.01.01 |
[데이터 과학을 위한 파이썬 프로그래밍_2판] 9. 파이썬 스타일 코드(2) (0) | 2023.08.23 |
[데이터 과학을 위한 파이썬 프로그래밍_2판] 8. 파이썬 스타일 코드(1) (0) | 2023.08.22 |