코딩하는 해맑은 거북이
[Pandas] select_dtypes - 특정 데이터 타입 열만 가져오기 본문
해당 글은 특정 데이터 타입의 열만 가져올 수 있는 select_dtypes 함수를 소개한다.
📌 DataFrame.select_dtypes(include=None, exclude=None)
*예시 데이터
import pandas as pd
df = pd.DataFrame({
'col1': [1, 2, 3],
'col2': ['a', 'b', 'c'],
'col3': [1.1, 2.2, 3.3]
})
df.info()
📌 DataFrame.select_dtypes(include=None, exclude=None)
- include 옵션은 포함할 타입의 scalar 혹은 list 형태로 지정
- exclude 옵션은 제외할 타입의 scalar 혹은 list 형태로 지정
# 정수형 컬럼만 선택
int_columns = df.select_dtypes(include='int')
display(int_columns)
# 실수형 컬럼만 선택
float_columns = df.select_dtypes(include='float')
display(float_columns)
# 문자형 컬럼만 선택
object_columns = df.select_dtypes(include='object')
display(object_columns)
# 정수형 컬럼만 제외
not_int_columns = df.select_dtypes(exclude='int')
display(not_int_columns)
# 실수형 컬럼만 제외
not_float_columns = df.select_dtypes(exclude='float')
display(not_float_columns)
# 문자형 컬럼만 제외
not_object_columns = df.select_dtypes(exclude='object')
display(not_object_columns)
# 정수형 컬럼만 제외
not_int_columns = df.select_dtypes(include=['float', 'object'])
display(not_int_columns)
# 실수형 컬럼만 제외
not_float_columns = df.select_dtypes(include=['int', 'object'])
display(not_float_columns)
# 문자형 컬럼만 제외
not_object_columns = df.select_dtypes(include=['int', 'float'])
display(not_object_columns)
cf) select_dtypes와 비슷하게 loc를 이용해서 특정 타입의 열도 가져올 수 있다.
하지만, 여러 타입을 지정해주어야 할 때, 조건문이 길어지므로 select_dtypes를 사용하면 더욱 간편하게 가져올 수 있다!
# 정수형 컬럼만 선택
int_columns = df.loc[:, df.dtypes == 'int']
display(int_columns)
# 실수형 컬럼만 선택
float_columns = df.loc[:, df.dtypes == 'float']
display(float_columns)
# 문자형 컬럼만 선택
object_columns = df.loc[:, df.dtypes == 'object']
display(object_columns)
# 정수형 컬럼만 제외
not_int_columns = df.loc[:, df.dtypes != 'int']
display(not_int_columns)
# 실수형 컬럼만 제외
not_float_columns = df.loc[:, df.dtypes != 'float']
display(not_float_columns)
# 문자형 컬럼만 제외
not_object_columns = df.loc[:, df.dtypes != 'object']
display(not_object_columns)
# 정수형 컬럼만 제외
not_int_columns = df.loc[:, (df.dtypes == 'float') | (df.dtypes == 'object')]
display(not_int_columns)
# 실수형 컬럼만 제외
not_float_columns = df.loc[:, (df.dtypes == 'int') | (df.dtypes == 'object')]
display(not_float_columns)
# 문자형 컬럼만 제외
not_object_columns = df.loc[:, (df.dtypes == 'int') | (df.dtypes == 'float')]
display(not_object_columns)
'Python > Numpy | Pandas' 카테고리의 다른 글
[Pandas] Pandas 공부하기 좋은 자료 (0) | 2023.10.09 |
---|---|
[Pandas] str.startswith(), str.endswith(), str.contains() (0) | 2023.06.21 |
[Pandas] Pandas 기본 문법 (0) | 2023.03.16 |
[Numpy] array를 list로 변환 (0) | 2023.01.02 |
[Numpy] comparisons, boolean&fancy index, numpy data i/o (0) | 2022.12.27 |
Comments