**해당 데이터는 제가 학원 강의를 수료하며 받은 데이터이며 원본 데이터는 기업으로부터 제공받은 데이터라서 공유할 수 없습니다.
**본문은 공부를 하며 과정을 이해하며 생각하기 위함이니 참고 해주시면 감사드리겠습니다.
## Environment : Anaconda-navigator
## Programming Language : Python 3
## Import Pandas
## import seaborn as sns
## import matplotlib as mpl
## import matplotlib pyplot as plt
## Data provided by DS school & Origin data from Kmong.
## Kmong is a company that has a dream as below.
Kmong은 "비합리적인 서비스 시장을 정보기술로 혁신하여 새로운 일자리를 만들고 사람들이 행복하게 일하는 세상을 만든다."는 미션을 가지고 있는 프리랜서 마켓 플랫폼입니다.
Kmong팀은 디자인, 마케팅, IT&개발, 컨텐츠 제작, 통번역 등 다양한 서비스 카테고리를 기반으로 직업과 직장의 경계를 허물며 사람들이 스스로 경제 주체가 되어 행복하게 일하는 세상을 만들고 있습니다.
Target
- 데이터를 불러오기 및 전반적인 정보 확인
- 불러온 데이터들을 전처리
- 데이터들 목적에 맞게 병합
저번 글에 이어 데이터들 전처리를 진행하도록 하겠습니다.
이번에는 'devicemanufacturer' 라는 컬럼을 정리해보도록 하겠습니다.
해당 컬럼은 스마트폰 제조사가 명시되어 있으며 가장 비율이 높은 3개 브랜드를 제외하고는 나머지의 총 합이 전체의 2프로 미만이므로 데이터 관리 편의 측면을 위해 정리하도록 하겠습니다.
raw_log_data['devicemanufacturer'].value_counts()
결과를 보시면 삼성과 애플 그리고 LG가 많은 부분을 차지하고 있는걸로 보입니다.
통일감을 주고 많이 쓰이는 명칭으로 변경을 해보겠습니다.
samsung -> Samsung, Apple은 유지, LG 내용이 들어간 부분 -> LG 그 외에는 Others로 묶도록 하겠습니다.
def device_clean(devicemanufacturer):
if "samsung" in devicemanufacturer: # 해당 컬럼에 samsung이 있을시
return "Samsung" # Samsung 으로 반환한다
if "LGE" in devicemanufacturer: # 해당 컬럼에 LGE가 있을시
return "LG" # LG 로 반환한다
if "LG Electronics" in devicemanufacturer: # 해당 컬럼에 LG E~~가 있을시
return "LG" # LG 로 반환한다
if "Apple" in devicemanufacturer: # 해당 컬럼에 Apple이 있을시
return "Apple" # Apple 로 반환한다
else: # 그 외에는
return "Others" # Others 로 반환한다
device_clean 이라는 definition을 만들었습니다. 변경하려는 컬럼에 적용하며 원하는 값을 볼 수 있도록 새로운 컬럼을 생성합니다.
raw_log_data['device_clean'] = raw_log_data['devicemanufacturer'].apply(device_clean)
raw_log_data['device_clean'].value_counts()
내용이 잘 적용 되었습니다.
아래 과정을 통해 Others의 비율이 어느정도인지 확인해보겠습니다.
device_brand_count = raw_log_data['device_clean'].value_counts() # count한 값들 변수 지정
print(device_brand_count) # 내용 확인
print('총 개수 = ',device_brand_count.sum()) # 총합 확인
print('Others의 비율은 = ', device_brand_count['Others'] / device_brand_count.sum()) # Others의 비율
아래와 같이 각 브랜드별로 시각화를 해볼수도 있습니다.
## 코딩 초기 시작시 아래 3가지 import 해놓고 시작했으니 참고 해주세요.
## import seaborn as sns
## import matplotlib as mpl
## import matplotlib pyplot as plt
%matplotlib inline # 만약 jupytor notebook에서 그래프를 못 불러오면 왼쪽 명령어 입력
%config InlineBackend.figure_format = 'retina' # 그래프상 명칭에서 한글이 깨지면 폰트 지정
plt.figure(figsize=[10, 5]) # 그래프의 크기 지정
sns.countplot(data = raw_log_data, x='device_clean'\
, palette=sns.color_palette('coolwarm', 4)) # palette를 사용하여 그래프 bar 색 지정
다음 페이지에서는 본 환경을 이어서 동일한 데이터를 가지고 추가적인 전처리를 진행하도록 하겠습니다.
*** 본 페이지는 본인의 공부를 위해 작성되었으며, 협찬이나 문의를 받고 기재한 내용이 아닙니다. 혹시 문의사항이 있으시거나 문제가 될 경우 연락 주시기 바랍니다.***
'데이터 분석 > Python - 정리하자' 카테고리의 다른 글
퍼널(Funnel) 데이터를 정리 해보자 (2) | 2024.07.05 |
---|---|
불필요한 컬럼 정리 해보자 (0) | 2024.07.05 |
컬럼값 정리 후 결과 확인 해보기 (0) | 2024.07.05 |
데이터 전처리 연속하기 (0) | 2024.07.05 |
데이터를 불러오기부터 전처리 해보기 (0) | 2024.07.04 |