(Python) Pandas Data Convert
Page content
강의 홍보
- 취준생을 위한 강의를 제작하였습니다.
- 본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.
스타벅스 아이스 아메리카노를 선물
로 보내드리겠습니다.
- [비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기
1줄 요약
- Pandas에서 데이터 형변환은
astype
로 끝낸다.
참고자료
astype
에 대한 공식 문서를 살펴본다.
예제
- 가상의
temp
데이터를 만든다. - 모두 0, 1, 2 데이터이지만 각 데이터 타입은 모두 다르다.
import pandas as pd
temp = pd.DataFrame({"A": [0,1,2],
"B": ["0", "1", "2"],
"C": [0.0, 1.0, 2.0]})
temp.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 3 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 A 3 non-null int64
1 B 3 non-null object
2 C 3 non-null float64
dtypes: float64(1), int64(1), object(1)
memory usage: 200.0+ bytes
print(temp)
A B C
0 0 0 0
1 1 1 1
2 2 2 2
확인
- 변환을 진행할 때는, 아래와 같이 확인하는 용도로 우선 확인한다. 이 때 확인해야 하는 것은
dtype: ~
이다. - 보시다시피 정상적으로 잘 변환되는 것을 알 수 있다.
temp["A"].astype(str)
0 0
1 1
2 2
Name: A, dtype: object
temp["B"].astype(int)
0 0
1 1
2 2
Name: B, dtype: int64
temp["C"].astype(int)
0 0
1 1
2 2
Name: C, dtype: int64
적용
- 이제 본 데이터에 적용을 해본다.
temp["A"] = temp["A"].astype(str)
temp["B"] = temp["B"].astype(int)
temp["C"] = temp["C"].astype(int)
temp.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 3 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 A 3 non-null object
1 B 3 non-null int64
2 C 3 non-null int64
dtypes: int64(2), object(1)
memory usage: 200.0+ bytes
- 처음과 달라진
Dtype
를 확인할 수 있을 것이다. - 간단한 문법이지만, 막상 실무에서 적용하려면 생각이 잘 나지 않을수도 있다. 작은 도움이 되기를 바란다.
Happy To Code