이번 포스팅에서는 select_dtype 함수에 대해서 알아 보겠습니다. select_dtype 는 데이터프레임 열의 데이터 유형을 기반으로 데이터프레임의 하위집합을 생성하는 함수입니다. 데이터 분석 시 매우 유용한 함수로 알아두면 매우 효율적인 데이터 분석이 가능할 것입니다.
select_dtype 구문
데이터프레임 열의 데이터 유형을 기반으로 데이터프레임의 하위집합을 생성하는 함수 select_dtype의 구문은 아래와 같고,
DataFrame.select_dtypes(include = None, exclude = None)
반환값은 데이터프레임의 하위집합입니다.
select_dtype 인수
- include : scalar or list-like
- 포함할 데이터 유형 또는 문자열을 입력합니다.
- exclude : scalar or list-like
- 제외할 데이터 유형 또는 문자열을 입력합니다.
- 위에 있는 두 매개변수 중 어느 하나라도 포함되어 있어야 에러가 발생하지 않습니다.
- 참고
- 데이터 유형 중 모든 숫자 유형을 선택하려면 np.number 또는 ‘number’를 사용합니다.
- 데이터 유형 중 문자열을 선택하려면 “object”를 사용해야 하지만 이렇게 하면 모든 “object” 데이터 유형이 반환됩니다.
- 데이터 유형 중 날짜/시간을 선택하려면 np.datetime64, ‘datetime’ 또는 ‘datetime64’를 사용합니다.
- 데이터 유형 중 timedelta를 선택하려면 np.timedelta64, ‘timedelta’ 또는 ‘timedelta64’를 사용합니다.
- 데이터 유형 중 범주형을 선택하려면 ‘category’를 사용합니다.
- 데이터 유형 중 datetimetz를 선택하려면 ‘datetimetz’ 또는 ‘datetime64[ns, tz]’를 사용합니다.
select_dtype 사용 예시
# 실습을 위한 임시 데이터 생성
import pandas as pd
tempData = pd.DataFrame({'a': [1, 2] * 3,
'b': [True, False] * 3,
'c': [1.0, 2.0] * 3})
tempData
------------------------------------------------------
a b c
0 1 True 1.0
1 2 False 2.0
2 1 True 1.0
3 2 False 2.0
4 1 True 1.0
5 2 False 2.0
열의 데이터 유형 중 ‘bool’ 을 선택하려면?
tempData.select_dtypes(include = 'bool')
-----------------------------------------------
b
0 True
1 False
2 True
3 False
4 True
5 False
열의 데이터 유형 중 실수형을 선택하려면?
tempData.select_dtypes(include = ['float64'])
# tempData.select_dtypes(include = ['float']) 을 실행해도 결과는 동일
----------------------------------------------------------------------
c
0 1.0
1 2.0
2 1.0
3 2.0
4 1.0
5 2.0
열의 데이터 유형 중 정수형을 제하려면?
tempData.select_dtypes(exclude = ['int64'])
# tempData.select_dtypes(exclude = ['int'])를 실행해도 결과는 동일
----------------------------------------------------------------------
b c
0 True 1.0
1 False 2.0
2 True 1.0
3 False 2.0
4 True 1.0
5 False 2.0
이상으로 데이터프레임 열의 데이터 유형을 기반으로 데이터프레임의 하위집합을 생성하는 함수 select_dtype에 대해서 알아 보았습니다.
실제 데이터 분석을 진행하다 보면, 수천 개의 열(변수)에 대해서 열의 데이터 유형별로 분석해야 하는 방향이 달라집니다. 변수를 유형별로 정리하여 하위 데이터프레임을 생성하고, 분석을 진행하면 매우 효율적으로 데이터 분석을 수행할 수 있습니다.
간단하지만, 중요한 함수 select_dytpe 꼭 기억하시기 바랍니다.
감사합니다!