[KT AIVLE SCHOOL]

1차 미니 프로젝트

조진목_스터디 2024. 9. 23. 22:03

1차 미니 프로젝트


'sales' 데이터프레임에서 부분인 2016년 1월~3월까지 3개월의 범위로 데이터를 선택하고 'daily_sales'에 재할당하세요.

daily_sales = sales.groupby('OrderDate', as_index=False)[['Amt']].sum()

daily_sales = daily_sales.loc[(daily_sales['OrderDate'].dt.year == 2016) & (daily_sales['OrderDate'].dt.month.between(1,3))]

 

 

dt.day_name() 함수로 요일 입력을 할 수 있다.

# dt.day_name() 함수 활용 
day_amt['Weekday'] = day_amt['OrderDate'].dt.day_name()

 

 

drop_duplicates 함수로 중복된 고객 제거

디폴트 값은 first이며, CustomerID 컬럼에서 첫번째 고유한 값을 남기고 중복값을 지운다.

cust02 = cust02.drop_duplicates(subset=['CustomerID'])

 

 

대상고객 목록인 'cust_churn0'과 2017년 1~3월 구매고객인 'cust03'을 합쳐서 'cust_churn0'으로 저장하세요.

left를 쓴 이유는 cust_churn0의 데이터 중에서 2017년 1~3월 구매 고객에게는 'churn' 컬럼에 0을 그렇지 않은

고객에게 null 값을 할당하기 위해서이다.

# merge 함수, how = 'left'로 왼쪽 데이터프레임의 행은 유지
cust_churn0 = pd.merge(cust_churn0, cust03, how='left', on='CustomerID')

 

 

null 값을 1로 채우고 valus_counts()를 하였다.

cust_churn0['churn'].fillna(1, inplace=True)

cust_churn0['churn'] = cust_churn0['churn'].astype(int)

cust_churn0['churn'].value_counts()

# 출력
churn
0    363
1    184
Name: count, dtype: int64

 

 

느낀점

1. 9시 출근은 피곤하다.

2. 온라인 강의라서 정말 좋다.

3. 20일 정도 강의를 들었는데 상당히 성장한 나를 발견했다.

4. ㅍㅇㅌ

 

'[KT AIVLE SCHOOL]' 카테고리의 다른 글

데이터 분석(2)  (0) 2024.09.26
데이터 분석(1)  (0) 2024.09.25
파이썬 기초(10)  (0) 2024.09.22
파이썬 기초(9)  (0) 2024.09.19
파이썬 기초(8)  (0) 2024.09.15