본문 바로가기
Data Science/Machine Learning

Dataframe describe 기능 정리

by Queen2 2022. 10. 12.
728x90
반응형

데이터프레임은 전체적인 분포가 어떻게 되는지 보기 위해 

아래처럼 제일 기본적으로 사용하는 편입니다.

 

>>> s = pd.Series([1, 2, 3])
>>> s.describe()
count    3.0
mean     2.0
std      1.0
min      1.0
25%      1.5
50%      2.0
75%      2.5
max      3.0
dtype: float64

(Source: Geeksforgeeks)

 

하지만 기본 기능외에도 유용한 기능들이 있어서 정리해보려 합니다

 

1. Datetime 데이터 타입에 Describe 적용하기

datetime_is_numeric=True

>>> s = pd.Series([
...   np.datetime64("2000-01-01"),
...   np.datetime64("2010-01-01"),
...   np.datetime64("2010-01-01")
... ])
>>> s.describe(datetime_is_numeric=True)
count                      3
mean     2006-09-01 08:00:00
min      2000-01-01 00:00:00
25%      2004-12-31 12:00:00
50%      2010-01-01 00:00:00
75%      2010-01-01 00:00:00
max      2010-01-01 00:00:00
dtype: object

 

이렇게 datetime_is_numeric을 설정해주면 날짜 데이터의 범위가 어떻게 되는지도 쉽게 알 수 있습니다.

 

 

2. 특정 데이터 타입 포함/미포함 설정

df.describe(include='all')

수치형 데이터 뿐만 아니라 다른 데이터 타입도 같이 제시해달라는 기능입니다

>>> df.describe(include='all')  
       categorical  numeric object
count            3      3.0      3
unique           3      NaN      3
top              f      NaN      a
freq             1      NaN      1
mean           NaN      2.0    NaN
std            NaN      1.0    NaN
min            NaN      1.0    NaN
25%            NaN      1.5    NaN
50%            NaN      2.0    NaN
75%            NaN      2.5    NaN
max            NaN      3.0    NaN

 

df.describe(include=[np.number])

>>> df.describe(include=[np.number])
       numeric
count      3.0
mean       2.0
std        1.0
min        1.0
25%        1.5
50%        2.0
75%        2.5
max        3.0

물론 include에는 이런 np.number외에도 다른 데이터 타입 명시가 가능합니다

 

 

df.describe(exclude=[object])

이번에는 include와 반대로 exclude하는 방법입니다

>>> df.describe(exclude=[object])  
       categorical  numeric
count            3      3.0
unique           3      NaN
top              f      NaN
freq             1      NaN
mean           NaN      2.0
std            NaN      1.0
min            NaN      1.0
25%            NaN      1.5
50%            NaN      2.0
75%            NaN      2.5
max            NaN      3.0

 

3. Describe 숫자 포맷 정하기

가끔 describe를 쓰면 소수점 5자리까지 나오는 등 가독성이 안 좋을 때 사용하는 방법입니다

 

  • 포맷팅 사용하기
train.describe().apply("{:.1f}".format)

 

 

  • Round 사용하기
df.describe().round(1)

 

Example code source:

https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.describe.html

 

728x90
반응형

댓글