brunch

You can make anything
by writing

C.S.Lewis

by 브래드 Nov 28. 2022

파이썬으로 데이터 전처리하기(8)

feat. pandas에서 자료형 변환 및 산술 연산

안녕하세요, 브래드입니다.


오늘은 파이썬으로 데이터 전처리하기 여덟 번째 시간으로 pandas에서 자료형 변환 및 산술 연산하는 과정을 함께 공부해보아요.



자료형 변환

int → str

pandas에서는 astype('변환하려는 자료형')을 활용하여 데이터 자료형을 변환할 수 있습니다.


대표적인 pandas 자료형은 정수(int), 실수(float), 문자열(str), 일자시간타입(datetime)이 존재합니다.


위의 예시에서는 기존에 정수형(int)이었던 category_id 컬럼을 astype을 통해 문자형(str)로 변환해준 모습입니다. object는 문자형을 의미합니다.




str → int

이번엔 반대로 문자형을 정수형으로 변환해준 모습입니다.


이처럼 pandas 내에서 astype을 통해 자료형을 원하는 형식으로 변환해줄 수 있습니다.




datetime 타입 변환

datetime은 pandas에서 날짜와 시간 데이터를 처리하기 위한 자료형입니다.


datetime 자료형으로 변환하면 날짜 슬라이싱 및 시간 연산 등이 가능해집니다. 기본 사용법은 다음과 같습니다.

pd.to_datetime(df['컬럼명']) 


위의 예시에서는 좋지 않은 예시이긴 하지만, category_id를 pd.to_datetime(df['category_id'])를 출력하여 datetime 타입으로 변환해준 모습입니다.




datetime으로 변환 후 날짜 슬라이싱

다음으로 datetime으로 변환 후 날짜 슬라이싱을 진행해보겠습니다.


먼저, 앞서 학습한 대로 pd.to_datetime(['컬럼명'])을 출력하여 datetime으로 변환한 후 df['컬럼명'].dt를 출력하여 날짜 슬라이싱 준비를 마칩니다.


그리고 연도 혹은 월, 일을 df['컬럼명'].dt.year / df['컬럼명'].dt.month / df['컬럼명'].dt.day 를 각각 출력하여 구해줄 수 있습니다.




 

dayofweek로 요일 구하기

또한, df['컬럼명'].dt.dayofweek를 출력하여 각각의 데이터의 요일을 구할 수 있습니다.


각각의 요일은 숫자로 표현되며 월요일 0, 화요일 1, 수요일 2, 목요일 3, 금요일 4, 토요일 5, 일요일 6으로 출력됩니다.




'년도 / 월 / 일'로 각각의 데이터 프레임에 추가하기

앞서 구한 년도, 월, 일 각각의 데이터를 다음과 같이 데이터 프레임에 추가하여 확인할 수 있습니다.


기존의 0000-00-00 형식의 데이터가 아닌 각각의 데이터로 분리하여 분석과 데이터 가공을 더욱 편리하게 진행할 수 있습니다.





산술연산

사칙연산

pandas에서는 같은 타입의 자료형끼리의 산술연산만 가능합니다. 


위의 예시에서는 정수형인 category_id 컬럼과 id컬럼 간의 합을 구해준 모습입니다. 마찬가지로 빼기, 곱셈, 나눗셈 등이 가능합니다. 또한 하나의 컬럼에 일괄 더하기 혹은 일괄 곱하기 등의 연산도 가능합니다.





통계연산

통계연산 진행할 데이터 프레임

합계, 평균, 최소/최댓값과 같은 통계연산도 가능합니다.


통계연산을 진행할 때 행 계산은 axis=0, 열 계산은 axis=1을 활용하여 계산해줍니다.




통계연산

df.sum(axis=0)은 행 방향으로 모든 합계를 구해달라는 식입니다. 따라서 각각의 합계가 나온 것을 확인할 수 있습니다.


df.mean(axis=0)은 행 방향으로 평균을 구한 값을 출력해줍니다. 예시에서는 의류, 하의, 신발의 평균 가격을 확인할 수 있습니다.



지금까지 파이썬으로 데이터 전처리하기 여덟 번째 시간으로 pandas에서 자료형 변환 및 산술연산에 관해 함께 공부해보았습니다.


데이터 타입의 자유로운 변화를 익혀, 능숙한 데이터 전처리를 할 수 있도록 함께 노력해보아요.


브래드였습니다. 감사합니다.

매거진의 이전글 파이썬으로 데이터 전처리하기(7)
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari