데이터 재구성
학습 목표
이 유닛을 완료하면 다음을 수행할 수 있습니다.
- 데이터 구조 조정 옵션을 식별할 수 있습니다.
- 데이터 피벗팅의 목적을 설명할 수 있습니다.
- 데이터 분할의 목적을 설명할 수 있습니다.
소개
고품질의 유의미한 데이터의 특성을 파악하여 "양질의" 데이터를 인식하는 방법을 배우고, 잘 구조화된 데이터가 어떻게 구성되어 있는지 살펴봤습니다. 하지만 데이터가 잘 구조화되어 있지 않다면 어떻게 해야 할까요? 이 유닛에서는 피벗 사용 및 변수(필드) 분할과 같이 데이터를 재구성하기 위한 몇 가지 옵션을 살펴보겠습니다.
데이터 구조화를 위한 옵션
데이터를 재구성하는 데 사용할 수 있는 옵션은 다음과 같습니다.
- 기본 데이터베이스 변경
- R 또는 Python과 같은 프로그래밍 언어 사용
- Tableau Prep Builder 또는 Tableau Desktop과 같은 Tableau Platform 내에서 피벗팅 및 데이터 분할과 같은 도구 사용
- 기타 ETL(Extract, Transform, Load) 도구 사용
경우에 따라 실제 데이터를 수정하는 대신 데이터를 설명하는 메타데이터를 사용자 정의할 수도 있습니다. 메타데이터에는 계산, 이름이 변경된 필드 및 기본 서식과 같은 정보가 포함될 수 있습니다. 메타데이터는 또한 데이터 구조에 어떤 변경 사항이 적용되었는지 포함할 수 있습니다.
검토: 잘 구조화된 데이터
잘 구조화된 데이터가 어떻게 구성되어 있는지에 대해 이전에 이 모듈에서 살펴본 내용을 떠올려보세요.
- 각 변수는 열 머리글이 있는 하나의 열에 있습니다.
- 그 변수에 대한 각각의 다른 관찰은 다른 행에 있습니다.
이전에는 다음과 같은 간단한 표를 살펴보았습니다. 이 데이터는 잘 구조화되어 있습니다. 변수는 공급업체, 도시 및 주이며, 각 변수는 열 머리글이 있는 자체 열에 있습니다. 각 행에는 변수(또는 필드)에 대한 관찰 사항(또는 값)이 나열되며, 이 경우 도시 및 주별 공급업체 이름과 위치가 나열됩니다.
Vendor |
City |
State |
---|---|---|
Polly’s Lollipops |
Preston |
WA |
Lucy’s Lollies |
Lansing |
MI |
Carlo Callazo’s Candy |
Cambridge |
MA |
Ming’s Minty Meringues |
Madison |
WI |
데이터가 잘 구조화되지 않은 경우 데이터 집합이 분석에 유용하려면 일부 데이터 준비 작업을 완료해야 합니다.
제대로 구조화되지 않은 데이터를 잘 구조화된 데이터로 바꾸는 몇 가지 일반적인 작업은 다음과 같습니다.
- 열을 행으로 피벗팅하거나 그 반대도 마찬가지입니다.
- 필드 나누기
피벗이란 무엇인가요?
간단히 말해서, 피벗은 열을 행으로 바꾸고, 경우에 따라서는 그 반대의 경우도 있습니다.
정보가 많은 열로 캡처되고 열에 유사한 정보가 포함된 경우 "와이드" 데이터 집합에 피벗을 사용합니다. 이 구조는 사용자 보고서에 더 편리할 수 있지만 분석에는 유용하지 않습니다. 예를 들어, Tableau Desktop은 "높이/폭이 좁은" 표 구조로 데이터를 분석하는 데 가장 적합합니다.
직원이 지불한 주차료를 나열한 이 표를 생각해 보세요. 각 날짜(2020년 2월 5일, 2020년 2월 6일 등)에 대해 필드(열)가 있는 행이 각 직원에 대해 있습니다.
Employee |
2/5/2020 |
2/6/2020 |
2/7/2020 |
2/8/2020 |
2/9/2020 |
---|---|---|---|---|---|
Christine |
10 |
10 |
10 |
10 |
10 |
Tristan |
10 |
||||
Lily |
10 |
10 |
|||
Jamal |
10 |
10 |
Tableau Desktop과 같은 일부 도구에 이 데이터 구조를 가져오면 모든 열에 대한 필드가 생성됩니다. 그날 지불한 주차료를 나타내는 다섯 개의 필드가 있습니다. 이렇게 하면 데이터가 별도의 필드에 저장되므로 시간에 걸친 분석을 수행하는 것이 매우 어렵습니다. 직원, 날짜 및 주차료 필드(변수)는 모두 열 머리글과 함께 자체 열에 있어야 합니다. 각 행은 값(변수 관찰)을 나열해야 합니다. 이 경우 직원의 이름, 날짜 및 지불한 주차료를 나열합니다.
피벗 후에, 다음 표와 같이 원하는 데이터 구조가 달성됩니다. 모든 날짜 값이 한 열에 있으므로 시간이 지남에 따라 추세를 살펴보고 이 데이터를 분석할 수 있습니다.
Employee |
Date |
Parking Fee |
---|---|---|
Christine |
2/5/2020 |
10 |
Christine |
2/6/2020 |
10 |
Christine |
2/7/2020 |
10 |
Christine |
2/8/2020 |
10 |
Christine |
2/9/2020 |
10 |
Tristan |
2/5/2020 |
10 |
Lily |
2/5/2020 |
10 |
Lily |
2/9/2020 |
10 |
Jamal |
2/5/2020 |
10 |
Jamal |
2/7/2020 |
10 |
분할이란 무엇인가요?
즉, 분할은 여러 정보 조각을 포함하는 열을 각 정보 조각에 대해 하나씩 여러 열로 분리합니다.
분할 문자열은 구분 기호(쉼표, 콜론 또는 필드 값의 구분된 정보 조각 사이에 있는 하이픈과 같은 문자)를 기준으로 필드 값을 구분합니다. 분할은 필드 구성 요소가 데이터를 분석하는 데 사용할 수 있는 의미를 갖는 경우에 유용합니다.
다음 예에서 Airline 필드의 값은 항공사 이름과 두 문자 항공사 코드를 포함합니다. 이 두 정보 유형 사이의 콜론은 구분자입니다.
Airline |
---|
American Airlines: AA |
Delta Airlines: DL |
JetBlue Airways: B6 |
United Airlines: UA |
분할 후 항공사 이름과 코드는 표에 별도의 열로 표시됩니다. 이제 항공사 코드로 이 데이터를 분석하는 것이 더 쉬워졌습니다.
Airline |
Airline Code |
---|---|
American Airlines |
AA |
Delta Airlines |
DL |
JetBlue Airways |
B6 |
United Airlines |
UA |
이제 데이터 특성 및 조직에 대한 이해와 피벗팅 및 필드 분할을 포함한 데이터를 재구성하기 위한 몇 가지 옵션이 있습니다.
다음 표를 사용하여 첫 번째 퀴즈 문제에 답하세요.
City | State | Q1 | Q2 | Q3 | Q4 |
---|---|---|---|---|---|
San Francisco |
CA |
$25,465 |
$15,389 |
$19,268 |
$28,491 |
New York |
NY |
$42,543 |
$39,642 |
$41,687 |
$44,594 |
Seattle |
WA |
$38,756 |
$32,174 |
$33,452 |
$39,892 |