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 |