반응형

05-02. dtype기반 열 선택 (select_dtyps)

DataFrame.select_dtypes(include=None, exclude=None)

 

개요


select_dtypes 함수는 열에 포함된 데이터들을 type 기준으로 인덱싱 할 수 있도록 합니다.
select_dtypes(include=None, exclude=None) 형태를 가지며, include에 넣은값을 포함하고
exclude에 넣은 값을 제외한 columns(열)을 DaraFrame 형태로 반환합니다.

 

사용법


기본 사용법
df.dtypes
* include 및 exclude는 비어있거나 겹치면 안되며(에러발생), 스칼라나 list형태의 입력값이 가능합니다.
자료형
1. 숫자형(numeric)은 np.number 또는 'number'
2. 문자형(str)은 'object'
3. 날짜,시간(datetimes)을 선택하려면 np.datetime64, 'datetime' 또는 'datetime64'
4. timedeltas는 np.timedelta64, 'timedelta' or 'timedelta64'
5. Pandas의 categorical 타입은 'category'

반응형

 

예시


먼저, 아래와 같이 기본적인 4x5 행렬을 만듭니다. col1은 숫자, col2는 문자, col3은 float, col4는 bool의 dtype을 가집니다.

col1 = [1, 2, 3, 4, 5]
col2 = ['one', 'two', 'three', 'four', 'five']
col3 = [1.5, 2.5, 3.5, 4.5, 5.5]
col4 = [True, False, False, True, True]
df = pd.DataFrame({"col1": col1, "col2": col2, "col3": col3, "col4": col4})
print(df)
>>
   col1   col2  col3   col4
0     1    one   1.5   True
1     2    two   2.5  False
2     3  three   3.5  False
3     4   four   4.5   True
4     5   five   5.5   True

print(df.dtypes)
>>
col1      int64
col2     object
col3    float64
col4       bool
dtype: object

include사용
include에 포함될 type을 입력함으로써, 해당 type인 열만 반환하는것이 가능합니다.

result = df.select_dtypes(include=[float,bool])
print(result)
>>
   col3   col4
0   1.5   True
1   2.5  False
2   3.5  False
3   4.5   True
4   5.5   True


exclude사용
exclude에 제외할 type을 입력함으로써, 해당 type인 열만 제외하여 반환하는것이 가능합니다.

result = df.select_dtypes(exclude=['int64'])
print(result)
>>
    col2  col3   col4
0    one   1.5   True
1    two   2.5  False
2  three   3.5  False
3   four   4.5   True
4   five   5.5   True

include & exclude 혼합 사용
include에 포함될 type을, exclude에 제외할 type을 입력하여 혼용 인덱싱이 가능합니다.

result = df.select_dtypes(include =[float,object], exclude=['int64'])
print(result)
>>
    col2  col3
0    one   1.5
1    two   2.5
2  three   3.5
3   four   4.5
4   five   5.5
반응형

+ 최근 글