[데이터 사이언스] 데이터 조작하기

개요

  • 많은 경우, 데이터는 여러 개의 파일을 통해 구성되어 있다.
  • 효과적인 데이터 분석을 위해 여러개의 파일을 하나로 합치는 과정이 필요하다.
  • 판다스를 통해 더하는 방법에는 여러가지가 있지만 그 중 두 가지를 다룰 것이다.

Concat(Concatenate)

  • ‘더하다, 붙이다’라는 의미로 생각한다.

파이썬 소스 코드

1
2
3
4
5
x = pd.DataFrame([['AX','AY'],['BX','BY']], index = ['A','B'], columns = ['X','Y'])
y = pd.DataFrame([['AX','AZ'],['CX','CZ']], index = ['A','C'], columns = ['X','Z'])

pd.concat([x, y]) ## concate_by_row
pd.concat([x, y], axis = 1) ## concate_by_column

1 2

  • 데이터 프레임을 더할 때 일반적으로 더해지는 행, 열의 이름이나 인덱스 값이 일치해야 한다.
  • 만약 그렇지 않은 경우, 비어있는 부분에 대해 NaN 값으로 채워진다.

Merge

  • concat과 다르게 공통된 부분을 기반으로 합치기 위한 용도이다.
1
df.merge('붙일 내용', how = '방법', on = '기준 feature')

Tidy 데이터

image

  • 라이브러리에 따라서 다른 형태의 데이터를 필요로 한다.
  • 예를 들어, 데이터 시각화에 쓰이는 Seaborn 라이브러리는 Tidy한 데이터를 필요로 한다.

Tidy 데이터의 목적

  • Seaborn과 같은 시각화 라이브러리에서 유용하게 쓰임.

Tidy의 특징

  • 각 변수는 개별의 열(column)으로 존재한다.
  • 각 관측치는 행(row)를 구성한다.
  • 각 표는 단 하나의 관측기준에 의해서 조직된 데이터를 저장한다.
  • 만약 여러 개의 표가 존재한다면, 적어도 하나 이상의 열(column)이 공유되어야 한다.
    • 변수(Variable): 예를 들면 키, 몸무게, 성별
    • 값(Value): 예를 들자면 152cm, 80kg, 여성
    • 관측치(Observation): 값을 측정한 단위, 각각의 사람

3

참조

0%