데이터분석 개발일지(스파르타코딩)

데이터분석_개발일지5

rainsky 2023. 2. 1. 16:07

스파르타 코딩 데이터분석 개발일지 마지막 주차가 왔다.

최근 인턴과 다른 연수 활동 때문에 코딩할 시간이 많지 않아서 강의도 잘 못 듣고 있었다.

이제부터라도 코딩 공부를 열심히 해서 코딩실력을 더욱 길러야겠다!

이제 여유로워진 남은 시간들을 다 코딩에 할애할 것이다.

 

merge

merge는 병합해줄 때 사용한다.

left join, right join을 함께 사용해 준다.

pd.merge(left = DF1 , right = DF2, on = "해당 기준 열 이름", how = "left")

left에 있는 DF1을 기준으로 해당 기준되는 열에 맞춰 조인을 해준다.

on에 여러 개의 열들을 넣고 싶을 때는 [ ] 을 사용해 준다.

 

이 부분은 학교에서도 배웠었는데 뭔가 어렵고 잘 익혀지지가 않아 많이 까먹었던 부분이었다.

다시 한번 더 되짚어 볼 수 있어서 좋았다.

 

날짜 비교, 계산 함수 relativedelta

datetime으로 원하는 열을 변경 후 사용한다.

from dateutil.relativedelta import relativedelta

d = relativedelta(customer_join["date1"][i], customer_join["date2"][i])
customer_join["period"][i] = d.years*12 + d.months # 총 회원기간 달의 수
relativedelta을 사용하여 date1과 date2의 날짜 차이를 계산해 준 것이다.
회원기간을 달로 계산을 해주기 위해 년도에는 12를 곱해준 것이다.
 

클러스터링

from sklearn.cluster import KMeans
from sklearn.preprocessing import StandardScaler

sc = StandardScaler()
clustering_sc = sc.fit_transform(clustering)

kmeans = KMeans(n_clusters = 4) # 4개의 그룹으로 나누겠다
clusters = kmeans.fit(clustering_sc)

clustering['cluster'] = clusters.labels_
clustering

KMeans를 이용해 4개의 그룹으로 나누어 라벨을 붙여준다.

어떤 특성으로 그룹이 4개가 나뉜 것인지는 정확히 파악할 수 업지만, 그룹들의 특징이 보일 수 있다.

 

PCA 주성분 분석

 

rename

이름을 다시 지정

tmp.rename(columns={"기존 변수이름":"새로운 변수이름"}, inplace=True)

이 코드로 변수이름을 바꿔줄 수 있다. inplace로 tmp에 바로 적용될 수 있게 해 줬다.

 

tip: .reset_index(drop=True)은 인덱스를 0부터 차례대로 만들어준다. ' . ' 앞에는 데이터프레임이 들어간다.

 

무작위로 섞고 중복되는 것을 제거할 때

c = c.sample(frac = 1).reset_index(drop=True) # 1은 전체데이터 모두를 추출해서 섞겠다는 뜻

c = c.drop_duplicates(subset='해당 열') # subset에 해당되는 열의 중복을 제거
c

sample로 무작위 섞고, drop_duplicates로 중복 열을 제거해 줬다.


이렇게 5주 차 강의가 끝났다. 데이터 분석의 모든 강의를 완주해서 뿌듯하다.

이제 웹개발 강의만 남았다. 그것도 열심히 해서 꼭 완주할 것이다.

지금 코딩에 열중하기 위한 시간이 많을 때 많이 공부해 놔야겠다.

시간이 여유로워지니 좋다ㅎㅎ

5주 차 강의를 들으며 새롭게 알게 된 것들과 배운 것들의 복습을 통해 더 성장해 나간 것 같다.

좋은 학습들을 계속 기억하고 활용할 것이다.

스파르타코딩 데이터분석 강의 개발일지를 끝까지 끝낼 수 있어 기쁘다!