본문 바로가기

IT60

[240923] 1차 미니 프로젝트 (1) KT 에이블스쿨 입교 후, 첫 미니 프로젝트를 진행하였다.이틀로 진행되었는데, 이틀 모두 전원이 모두 참석한 조는 우리 조밖에 없었다!.!특히나 우리 조에서는 인천에서 오시는 분이 있었는데.. 아침 여섯시에 기상한다고 하셨음ㄷㄷ 어쨌등가 아침일찍 버스를 타고 탄방역 옆에 있는 KT 타워에 도착하였다. (우리 교육장은 13층이었다.) 첫 프로젝트의 주제는 '소비자 구매 패턴 분석을 통한 고객 이탈 예측' 이었다.정리되지 않은 고객, 판매 Raw 데이터로 Null 값을 제거하고, 이탈고객을 레이블링을 하는데이터 가공 및 전처리 실습이었다. 개별 실습을 15시까지 진행하고, 후에 조끼리 코드를 공유하며 서로 배워갔다.맞게 풀었는지 한번더 풀어보려고 했는데, 15시까지 꽉꽉 채워풀어버림.ㅠㅠ다 풀긴했지만 너무 .. 2024. 9. 24.
[240920] 데이터다듬기#8 - 판다스 데이터프레임 변경(4) 1. Rolling (rolling()메서드)) - 일정 기간에 대한 집계를 수행할 수 있음 - ex) 최근 3일간, 일주일간의 평균이나 합을 집계# 최근 3일간 Ozone 열 평균 air['Ozone'].rolling(window=3, min_periods=1).mean() # window=생략가능 # 최근 7일간 Ozone 열 평균 air['Ozone'].rolling(window=7, min_periods=1).mean() # 새로운 열 추가 air['OZ_mean_3'] = round(air['Ozone'].rolling(window=3, min_periods=1).mean(), 1) air['OZ_mean_7'] = round(air['Ozone'].rolling(window=7, min_per.. 2024. 9. 21.
[240920] 데이터다듬기#7 - 판다스 데이터프레임 변경 (3) 1. 데이터프레임 합치기 (Concat) => '인덱스 값'을 기준# 가로로 합치기 (axis=1) # 실무에서 쓰일 일은 많이 없음. pop = pd.concat([pop01, pop02], join='outer', axis=1) pop = pd.concat([pop01, pop02], join='inner', axis=1) # 세로로 합치기 (axis=0) pop = pd.concat([pop01. pop02], join='outer', axis=0) pop = pd.concat([pop01. pop02], join='inner', axis=0) => 인덱스 값이 중복되므로 인덱스를 초기화 pop.reset_index(drop=Ture, inplace=True) 2. 데이터프레임 합치기 (Merge).. 2024. 9. 21.
[240920] 데이터다듬기#6 - 판다스 데이터프레임 변경 (2) 1. 결측치 처리 (info(), isna(), isnull(), notnull(), isna().sum()) - 결측치는 NaN 값으로, 누락된 데이터를 처리하기 위한 전처리 작업이 필요함. - 제거를 하거나, 다른 값(평균값, 최빈값 등)으로 채워야 함. 1) 결측치 찾기# info() df.info() # Non-Null Count를 확인하여, Null 값을 찾는다. # isna(), isnull(), notnull() df.isnull() # Null 값을 True나 False로 반환 (결측치를 True로 반환) # isna().sum() df.isna().sum() # 열의 결측치 개수 확인 2) 결측치 제거 (dropna())# dropna() df.dropna(axis=0, inplace=T.. 2024. 9. 21.