오늘은 판다스 데이터프레임에서 특정 컬럼의 자료형을 바꾸는 방법에 대해서 정리하도록 하겠습니다. 우선 다음과 같은 데이터프레임을 하나 만들겠습니다. 데이터프레임을 만들 때는 딕셔너리를 데이터프레임으로 변환하는 방식을 많이 사용합니다.
import pandas as pd
dict_data = {'연도':['2020', '2021', '2022'], '스트레스지수':[58, 78, 99]}
df = pd.DataFrame(dict_data)
print(df)
데이터프레임 컬럼 자료형 확인
이 데이터프레임의 각 컬럼의 자료형은 다음과 같습니다. 데이터프레임의 자료형은 데이터프레임 객체의 dtypes 속성으로 확인할 수 있습니다.
print(df.dtypes)
연도 컬럼의 자료형은 object, 스트레스지수 컬럼의 자료형은 int64로 되어 있습니다. 판다스에서 object 자료형은 문자열 자료형을 의미합니다.
데이터프레임 컬럼 자료형 변경
첫번째 방법
연도 컬럼의 자료형을 정수형으로 변환해보겠습니다. 시리즈 객체의 astype 메소드를 사용하시면 됩니다. 연도 컬럼만 선택한 df['연도']는 시리즈입니다.
df['연도'] = df['연도'].astype('int')
print(df.dtypes)
연도 컬럼의 자료형이 object에서 int64로 바뀐 것을 확인하실 수 있습니다.
두번째 방법
데이터프레임 객체의 astype 메소드를 활용하여 특정 컬럼의 자료형을 변환하는 것도 가능합니다. 이번에도 연도 컬럼의 자료형을 정수형으로 바꿔보겠습니다.
df = df.astype({'연도':'int'})
print(df.dtypes)
결과는 위와 동일합니다.
두번째 방법은 한 번에 여러 개 컬럼의 데이터 타입을 변경할 때도 사용가능합니다.
df = df.astype({'컬럼1':'새자료형', '컬럼2':'새자료형', ...}
연도 컬럼의 자료형을 int로 바꾸면서 동시에 스트레스지수 컬럼의 자료형은 str로 바꿔보겠습니다.
df = df.astype({'연도':'int', '스트레스지수':'str'})
print(df.dtypes)
이제 스트레스지수에 있는 숫자들은 더 이상 숫자가 아니라 문자열입니다.
관련 글
'Dev > python' 카테고리의 다른 글
[folium] 파이썬으로 지도 위에 마커 표시하는 방법 (2) | 2022.07.06 |
---|---|
[python] 주소를 위도, 경도 좌표로 바꿔주는 Geocoder API 사용법 (1) | 2022.07.05 |
[matplotlib] 그래프 x축, y축 눈금 위치 설정하는 방법, xticks, yticks (0) | 2022.07.04 |
[python] 날짜, 시간을 다루는 경우 datetime 모듈 대신 arrow 추천 (0) | 2022.07.03 |
[matplotlib] 리눅스 우분투 matplotlib 그래프 한글 깨짐 문제 해결법 (0) | 2022.07.02 |
[python] 숫자 1부터 100까지의 리스트 생성하기, range 객체를 list 객체로 변환하기 (0) | 2022.07.02 |
[python, opencv] 웹캠 영상 출력하는 방법 (1) | 2022.07.01 |
[pandas] 데이터프레임 컬럼 순서 변경 (0) | 2022.07.01 |