데이터

파이썬 데이터 전처리에서 자주 쓰이는 코드 정리

So_Bee_93 2021. 6. 4. 23:54
SMALL

 

안녕하세요 😊

 

 

 

데이터 전처리에서 자주 쓰이는 명령어를 정리해봤습니다! 

(딱히 기준이 있는건 아니고 생각나는데로 정리한 것이니 참고용으로 부탁드릴게요!) 

 

 

 

 

1. Apply lambda 함수 

행이나 열 단위로 더 복잡한 처리를 할 때 apply() 메소드를 활용한다.

인수로 행 또는 열을 받는 함수를 apply 메소드의 인수로 넣으면 각 열(또는 행)을 반복하며 그 함수를 적용시킨다. 

 

쉽게 말씀 드려서 각 데이터를 행이나, 열을 기준으로 계산해주고 싶거나 형식을 바꿔주고 싶을 때 적용한다고 생각하면 되겠습니다. 

 

import pandas as pd 

df = pd.DataFrame({'캠페인시작날짜':['2020.07.08','2020.07.09','2020.07.10']})
	캠페인시작날짜
0	2020.07.08
1	2020.07.09
2	2020.07.10


#캠페인시작날짜의 각 데이터를 바꿔주겠다.
df['캠페인시작날짜'] =df['캠페인시작날짜'].apply(lambda x: x.replace('.','-'))



	캠페인시작날짜
0	2020-07-08
1	2020-07-09
2	2020-07-10

 

 

 

 

 

 

 

 

 

2. 특정 조건의 데이터만 변경  ( loc의 활용)

예를 들어 캠페인 명과 캠페인 날짜가 있는 데이터 프레임에서 특정 캠페인 명의 캠페인 날짜만 현재 날짜로 변경하고자 할 때 어떻게 하면 좋을까요?? 

 

df = pd.DataFrame({'캠페인명':['aaa캠페인','bbb캠페인','ccc캠페인'],'캠페인날짜':['2020-02-01','2021-03-08','2021-11-04']})

df

	캠페인명	캠페인날짜
0	aaa캠페인	2020-02-01
1	bbb캠페인	2021-03-08
2	ccc캠페인	2021-11-04

 

다음과 같은 df가 있다고 합시다. 

근데 ccc캠페인 날짜를 보니 21년 11월로 돼 있네요! 

포스팅하는 현재는 5월달인데 말이죠 ! 

 

그래서 저는 ccc캠페인의 날짜를 5월 30일로 바꾸고자 합니다 😉

 

df.loc[(df.캠페인명=='ccc캠페인'),'캠페인날짜']='2021-05-30'

df


	캠페인명	캠페인날짜
0	aaa캠페인	2020-02-01
1	bbb캠페인	2021-03-08
2	ccc캠페인	2021-05-30

 

위와 같이 loc를 활용하면 간다하게 바꿀 수 있어요! 

이를 for문과 if문 등을 활용해서 적용하면 더욱 다양하게 활용할 수 있겠죠? :) 

 

 

 

 

 

 

 

3. Cut 함수 

실수 값의 경계선을 지정했을 때 해당 경계선을 기준으로 카테고리를 설정할 수 있다.

예를 들어 나이가 적힌 리스트가 있을 때 미성년자, 청년, 중년, 노년 이렇게 나눠 볼 수 있습니다 : )

 

ages=[0,2,10,21,23,37,31,61,20,41,32,100]

# 카테고리를 나누는 기준 설정 
bins=[1,15,25,35,60,99]

# 카테고리 설정
labels=['미성년자','청년','중년','장년','노년']

# ages 리스트를 bins 기준에 맞게 labels 할게! 
cats=pd.cut(ages,bins,labels=labels)

cats
[NaN, 미성년자, 미성년자, 청년, 청년, ..., 노년, 청년, 장년, 중년, NaN]

 

 

위와 같이 활용할 수 있답니다 :) 

다음 포스팅도 활용하기 쉬운 예시와 함께 찾아뵙겠습니다! 

감사합니다😁