데이터 프레임 컬럼 추출 작업을 하다보면 원하는 데이터 타입의 컬럼을 뽑고 싶을 때가 있다. 그럴 때 사용할 수 있는 것이 "select_dtypes"이다.
DataFrame.select_dtypes(include=None, exclude=None)
파라미터 : include, exclude
포함하거나 (include), 제외할 (exclude) 데이터 타입을 작성한다. 두 값 중 하나는 무조건 할당되어야 하며, 중복될 수 없다.
리턴값 : Dataframe
파라미터 조건에 맞는 컬럼이 데이터프레임으로 만들어져 데이터프레임 타입으로 반환된다.
에러 발생
1. 파라미터로 아무 값도 주지 않았을 때 (include와 exclude 모두 지정하지 않은 채 select_dtype()으로 실행했을 때)
2. include와 exclude가 동일한 값으로 설정되었을 때
3. 모든 종류의 데이터 타입이 파리미터로 지정되었을 때
파라미터로 입력하는 데이터 타입 주의 사항
1. 숫자형 : number / np.number
2. 문자형 : object
3. datetime : np.datetime64 / datetime / datetime64
4. timedelta : use np.timedelta64 / timedelta / timedelta64
5. 카테고리 : category
6. datetimetz : datetimetz / datetime64[ns, tz]
예시로 살펴보자!
#데이터 프레임 만들기
df = pd.DataFrame({'int': [1, 2] * 3,
'boolean': [True, False] * 3,
'float1': [1.0, 2.0] * 3,
'datetime': [datetime(2022, 1, 1), datetime(2022, 12, 31)] * 3,
'float2': [5.0, 6.0] * 3,})
df
데이터 프레임에 int, boolean, datetime 타입의 컬럼 각 1개와 float 타입의 컬럼 2개를 생성하였다.
이제 여기서 "include" 파라미터 방식을 확인해보자.
#boolean 데이터 타입 컬럼만
df.select_dtypes(include="bool")
#integer 데이터 타입 컬럼만
df.select_dtypes(include="int")
#float 데이터 타입 컬럼만
df.select_dtypes(include="float")
#datetime 데이터 타입 컬럼만
df.select_dtypes(include="datetime")
이제 여기서 "exclude" 파라미터 방식을 확인해보자.
# float 데이터 타입 컬럼을 제외한 나머지 컬럼
df.select_dtypes(exclude="float")
본 포스팅은 모두의 연구소 I love data 랩에서 진행하였습니다.
전체 코드는 아래 colab 노트북에서 확인해주세요
'CS? > pandas' 카테고리의 다른 글
[Python/pandas] 컬럼마다 적절한 데이터 형태로 값을 바꾸고 싶을 때 - infer_objects() (0) | 2022.11.20 |
---|---|
[pandas] Dataframe shift()로 다음 행에서 현재 행에 값 가져오기 (행 위치 바꾸기) (0) | 2022.10.26 |