1 분 소요

데이터 직군에 있어서 필요한 기본 스킬: 데이터를 다루는 기술들이다. 가장 기본적으로 파이썬의 Pandas, Numpy, Matplotlib가 있다. 이를 활용하는 방법을 배워보기. 이를 통해 EDA를 배운다.

EDA: Exploratory Data Analysis: 탐색적 데이터 분석. 데이터를 다양한 시각으로 바라보며 이해하려는 과정이다. 데이터에 여러 특징들이 있을텐데, 일부 특징을 기준으로 데이터를 이런 식으로 나누어보고, 다른 방식으로 나열해서 Business Insight를 도출해서 이익 창출로 이어질 수 있다.

이렇게 데이터를 다른 형식으로 표기해보기 위해 위 언급한 라이브러리를 사용한다. pandas로 데이터를 불러오고, numpy와 같이 수치를 조절 및 정렬하고, matplotlib 시각화로 특징을 나타낸다.

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv('csv_filename.csv', sep=',')

이제 데이터가 저장된 df 데이터프레임 자료구조로 데이터의 특징을 보고 변형을 가할 수 있다.

df.info() # 결측치, 칼럼별 데이터 타입을 확인할 수 있는 메소드
df.describe() # info와 더불어 데이터 정보 확인. 통계값을 알려줌.
df.shape # 데이터 사이즈 tuple
df.duplicated() # row마다 중복 여부 True or False
df.drop_duplicates() # 중복 제거
df.reset_index() # 정렬된 상태의 index 0부터 다시 부여

EDA를 하면서 Garbage In Garbage Out를 배울 수 있다. 정제되지 않은 데이터로 무언가를 나타내고 보여주려고 하면 이상한 값이 나온다. 예를 들어 병원에서 키와 몸무게 등의 수치가 있을텐데, 어떤 환자는 키를 m로 나타내고 다른 환자는 cm으로 나타냈을 때 평균값을 본다면 정말 의미 없는 수치가 나올 것이다. 그래서 이를 방지하기 위해 데이터를 잘 살펴보고 오류가 있으면 수저을, 더 좋은 표기 방법이 있으면 그것을 적용한다.

특성공학: Feature Engineering. 특성들을 재조합하여 의미 있는 새로운 특성을 만들어내는 과정. 예를 들어 구매 선호도를 나타내는 raw data가 있을 때 모든 나이별로 구매 의사를 나타내는 것보다 묶어서 10대, 20대, 30대 등으로 구분하여 그룹별로 특징을 파악하고 각각 그룹에 대해 별도의 마케팅 전략을 적용해보는 것을 생각해볼 수 있다.

df['new_feature'] = df['old_feature'] * 100
df.rename(columns={'old_name', 'new_name'})
df.concat(other_df)
  • .groupby() 특정 칼럼/칼럼들 기준으로 통계 수치를 확인하는 메소드.
  • .query() 조건으로 해당 데이터만 표기하는 방법 중 하나. 다른 방법으로는 indexing이 있다.

댓글남기기