Programmings

EDA with Pandas - Data Merge

강의 홍보

I. 개요

  • 실무 데이터에서는 여러가지 데이터를 만나는 경우가 흔하다.
  • 이 때, SQL에서 데이터를 직접 병합하는 방법이 좋다.
  • 그러나, 현실적으로 DB에 접근하는 권한을 가진 경우는 흔하지는 않다. 현재 운영중인 서비스상에 DB를 직접 만지는 경우는 거의 없다 (DBA가 할지도..)
  • 따라서, 데이터분석가는 흩어져 있는 데이터 Dump를 받게 될 가능성이 큰데, 이 때 Python에서 데이터를 병합하는 작업을 진행하게 된다.
  • Kaggle이나 각종 경진대회에 출전하게 되면 서로 다른 데이터를 합쳐야 하는 경우가 매우 많다.

II. 모듈 Import

import pandas as pd
print(pd.__version__)
1.0.4
  • 데이터프레임을 보다 이쁘게 출력하기 위해 다음 2개의 패키지를 불러온다.
from IPython.core.display import display, HTML
from tabulate import tabulate

III. Pandas 데이터 병합 Sample Tutorial

  • 간단하게 데이터를 병합하는 방법에 대해 실습을 진행한다.

(1) 파라미터 세팅

  • 먼저, 행과 열을 최대 출력하는 개수를 지정한다.
pd.set_option('display.max_columns', 500)
pd.set_option('display.max_rows', 500)

(2) 데이터 생성

  • 먼저 가상의 데이터를 두개 만든다.
temp_1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'], 
                       'num1': [1,2,3,4]})
print(tabulate(temp_1, headers=['key', 'num'], tablefmt='pipe'))
|    | key   |   num |
|---:|:------|------:|
|  0 | A     |     1 |
|  1 | B     |     2 |
|  2 | C     |     3 |
|  3 | D     |     4 |
temp_2 = pd.DataFrame({'key': ['A', 'B', 'E', 'F'], 
                       'num2': [5,6,7,8]})
print(tabulate(temp_2, headers=['key', 'num'], tablefmt='pipe'))
|    | key   |   num |
|---:|:------|------:|
|  0 | A     |     5 |
|  1 | B     |     6 |
|  2 | E     |     7 |
|  3 | F     |     8 |

(3) Data Merge - inner join

  • key값을 근거로 데이터를 병합한다.
  • 이 때, merge의 형태는 inner join 형태로 출력된다.
merge_df = pd.merge(temp_1, temp_2, on='key')
print(tabulate(merge_df, headers=['key', 'num1', 'num2'], tablefmt='pipe'))
|    | key   |   num1 |   num2 |
|---:|:------|-------:|-------:|
|  0 | A     |      1 |      5 |
|  1 | B     |      2 |      6 |
inner_df = pd.merge(temp_1, temp_2, on='key', how='inner')
print(tabulate(inner_df, headers=['key', 'num1', 'num2'], tablefmt='pipe'))
|    | key   |   num1 |   num2 |
|---:|:------|-------:|-------:|
|  0 | A     |      1 |      5 |
|  1 | B     |      2 |      6 |
  • 위 두개의 결과값이 똑같음을 확인할 수 있다.

(4) Data Merge - outer join

  • 이번에는 outer join을 해보자.
outer_df = pd.merge(temp_1, temp_2, on='key', how='outer')
print(tabulate(outer_df, headers=['key', 'num1', 'num2'], tablefmt='pipe'))
|    | key   |   num1 |   num2 |
|---:|:------|-------:|-------:|
|  0 | A     |      1 |      5 |
|  1 | B     |      2 |      6 |
|  2 | C     |      3 |    nan |
|  3 | D     |      4 |    nan |
|  4 | E     |    nan |      7 |
|  5 | F     |    nan |      8 |
  • 결과값을 보면, 우선 key값은 모두 출력되었다.
  • 이 때, 각 데이터에서 가져오는 num1num2Column도 같이 들어오는데, 각 column마다 없는 값들은 이렇게 nan으로 조회됨을 확인할 수 있다.

(5) Assignment

  • 이제 수강생 분들이 left & right 조인을 해보도록 한다.
  • 공식문서를 보면서 코드 작성하는 것을 추천한다.
# pd.merge(temp_1, temp_2) 여기 코드에서 남은 코드를 작성하면 됩니다. 
right_df = pd.merge(temp_1, temp_2, on='key', how='left')
print(tabulate(right_df, headers=['key', 'num1', 'num2'], tablefmt='pipe'))
|    | key   |   num1 |   num2 |
|---:|:------|-------:|-------:|
|  0 | A     |      1 |      5 |
|  1 | B     |      2 |      6 |
|  2 | E     |    nan |      7 |
|  3 | F     |    nan |      8 |
  • 그리고 이번에는 left join을 해본다.
# pd.merge(temp_1, temp_2) 여기 코드에서 남은 코드를 작성하면 됩니다. 
right_df = pd.merge(temp_1, temp_2, on='key', how='left')
print(tabulate(right_df, headers=['key', 'num1', 'num2'], tablefmt='pipe'))
|    | key   |   num1 |   num2 |
|---:|:------|-------:|-------:|
|  0 | A     |      1 |      5 |
|  1 | B     |      2 |      6 |
|  2 | C     |      3 |    nan |
|  3 | D     |      4 |    nan |

VI. What’s next

  • 데이터를 병합하는 방법 중 Merge에 대해서 배웠다.
  • Merge에는 크게 4가지 방법이 있고, 방법에 따라서 최종 데이터의 출력값이 서로 다름을 확인하였다.
  • 다음 시간에는 또다른 병합 방법인 Concatenate에 학습하도록 한다.

EDA with Personal Email - Data Import

강의 홍보

공지

제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.

I. Matplotlib & Seaborn

(1) 기본 개요

Matplotlib는 파이썬 표준 시각화 도구라고 불리워지며 파이썬 그래프의 기본 토대가 된다고 해도 무방하다. 객체지향 프로그래밍을 지원하므로 세세하게 꾸밀 수 있다.

Chapter_1_2_Python_visualisation_seaborn

공지

제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.

I. Matplotlib & Seaborn

(1) 기본 개요

Matplotlib는 파이썬 표준 시각화 도구라고 불리워지며 파이썬 그래프의 기본 토대가 된다고 해도 무방하다. 객체지향 프로그래밍을 지원하므로 세세하게 꾸밀 수 있다.

Seaborn 그래는 파이썬 시각화 도구의 고급 버전이다. Matplotlib에 비해 비교적 단순한 인터페이스를 제공하기 때문에 초보자도 어렵지 않게 배울 수 있다.

(AWS Project) BigData with Hadoop 03 - Amazon EMR Cluster 시작

I. Getting Started

II. What to do now

  • 이번 포스트에서는 비교적 간단하게 빅데이터 클러스터를 시작하는 과정을 진행한다. 막상 해보면 어려운 것은 아니지만, 언제나 그렇듯이 처음 할 때는 늘 시행착오를 겪게 마련이다.
  • Amazon EMR console창에 있는 Quick Options을 사용한다. Quick Options에 있는 다양한 절차들에 대해 확인이 필요하면 Summary of Quick Options에서 확인해본다.

III. Sample Cluster 시작

  • 먼저 AWS에 있는 AWS Management Console을 클릭하여 실행하도록 한다. (아래 그림 참조)

Chapter_1_1_Python_visualisation_intro

공지

제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.

I. Matplotlib

(1) 기본 개요

Matplotlib는 파이썬 표준 시각화 도구라고 불리워지며 파이썬 그래프의 기본 토대가 된다고 해도 무방하다. 객체지향 프로그래밍을 지원하므로 세세하게 꾸밀 수 있다.

Seaborn 그래는 파이썬 시각화 도구의 고급 버전이다. Matplotlib에 비해 비교적 단순한 인터페이스를 제공하기 때문에 초보자도 어렵지 않게 배울 수 있다.

(AWS Project) BigData with Hadoop 02 - 사전작업

I. Amazon S3 Bucket 생성 주요 요건

  • Hive 쿼리의 출력 데이터를 저장할 Amazon S3 버킷과 폴더를 지정한다.
  • 자습서에서는 default log location을 사용하지만, 원하는 경우에는 custom location을 지정할 수 있다.
  • 하둡의 요구사항 중, bucketfolder names 다음과 같은 규칙을 적용한다.
    • letters, numbers, periods(.), and hyphens(-) 등을 입력한다.
    • 마지막 글자는 숫자로 끝맺음을 하지 않는다.
  • 이러한 요구 사항을 충족하는 폴더에 이미 액세스할 수 있는 경우 이 튜토리얼에 해당 폴더를 사용하십시오.
  • 출력 폴더는 비어 있어야 한다.
  • 버킷 이름은 모든 AWS 계정에서 독특(unique)해야 한다는 점을 기억해야 한다.

II. Creating a Bucket

  • 이제 bucket을 생성하는 예제를 해본다.
    • 관련 예제는 Amazon Simple Storage Service Getting Started Guide문서에서 Create a Bucket을 찾아서 확인해본다.
  • Note (영어)

You are not charged for creating a bucket. You are charged only for storing objects in the bucket and for transferring objects in and out of the bucket. The charges that you incur through following the examples in this guide are minimal (less than $1). For more information about storage charges, see Amazon S3 Pricing

(AWS Project) BigData with Hadoop 01 - Overview

I. Overview

  • Amazon EMRApache 하둡Spark를 쉽고 빠르며 비용 효율적으로 실행하여 대량의 데이터를 처리할 수 있게 해주는 관리형 서비스입니다.
  • Amazon EMRPresto, Hive, Pig, HBase 등과 같은 강력하고 입증된 하둡 도구를 지원한다.
  • 이 프로젝트에서는 모든 기능이 작동하는 하둡 클러스터를 배포하여 몇 분 만에 로그 데이터를 분석할 준비를 갖추게 된다.
  • 먼저 Amazon EMR 클러스터를 시작한 다음, HiveQL 스크립트를 사용하여 Amazon S3 버킷에 저장된 샘플 로그 데이터를 처리한다. HiveQL은 데이터 웨어하우징과 분석을 위한 SQL 유사 스크립트 언어이다.
  • 그런 다음 비슷한 설정을 사용하여 자체 로그 파일을 분석할 수 있다.

II. 시작하기 전에 필요한 조건

  • 먼저 계정을 만들어야 한다. (참조: AWS - 회원가입 및 주요 서비스 간략 소개)
  • 요금 추정: 이 프로젝트를 완료하는 데 1.05 USD의 비용이 들 것으로 예상됩니다. 이는 AWS 프리 티어 한도 내에서 사용하고, 권장 구성을 따르며, 프로젝트에 사용된 모든 리소스를 생성 후 1시간 이내에 종료한다고 가정할 때의 비용입니다. 고객의 사용 사례에 따라 다른 구성이 필요할 수 있으며 이는 청구서에 영향을 미칠 수 있습니다. 요금 계산기를 사용하면 요구 사항에 맞춰 비용을 추정할 수 있습니다.
    • 꼭, 1시간 이내에 종료한다
    • 따라서, 단계별로 정리하는 습관이 중요하며, 가급적 사진 캡쳐하는 것도 좋다.
    • 영어 원서를 읽는데 부담감이 적다면, 다운로드: EMR 사용자 가이드받는 것을 추천한다.

III. Get Started

  • 이 튜토리얼은 빠른 생성을 사용하여 샘플 Amazon EMR 클러스터를 생성하는 과정을 안내한다.
  • AWS Management Console의 옵션, 클러스터를 생성한 후 Hive Script를 제출한다.
  • Amazon Simple Storage Service(Amazon S3)에 저장된 샘플 데이터를 처리한다.
  • 이 튜토리얼은 프로덕션 환경을 위한 것이 아니며 개발환경 구성(configuration) 옵션에 대해서는 다루지 않는다.
  • 가능한 한 빠르게 클러스터를 설정할 수 있도록 하기 위한 것이다.
  • 만약에 에러 등 문제가 발생이되면, Discussion Forum에 질의를 합니다.
  • 비용은 지역마다 다릅니다만, 일반적으로 클러스터 구성 후에 1시간 이내로 종료하면 비용 부담은 발생하지 않는다.
  • 처음 사용자인데, 실수로 비용이 과다하게 발생이 되면 면제받을 수 있다.
  • 자세한 것은 Amazon S3 요금 정책을 확인한다.

이제 본격적으로 AWS에서 Hadoop을 구성해보자.

EDA with Python - Pandas

강의 홍보

I. 개요

  • Pandaspanel data의 의미를 가지고 있다.
  • 흔히, 엑셀 데이터로 불리우는 관계형(Relational) 또는 레이블링된(Labeling)된 데이터를 보다 쉽게, 직관적으로 작업할 수 있도록 설계되어 있다.
  • Python에서 데이터 분석을 수행하기 위한 매우 기초적이며 높은 수준의 문법을 제공한다.
  • Pandas는 크게 Series & DataFrame을 다룰 수 있도록 기초 문법을 제공하고 있다.
  • Pandas가 다루는 여러 종류의 데이터를 확인해보자.
    • SQL 테이블 또는 Excel 스프레드시트에서와 같이 형식의 행과 열이 있는 표 형식 데이터
    • 순서 및 순서 지정되지 않은(고정 빈도일 필요는 없음) 시계열 데이터.
    • 행 및 열 레이블이 있는 임의 행렬 데이터(동일하게 입력 또는 이기종)
    • 기타 형태의 관측/통계 데이터 세트

II. 모듈 Import

import pandas as pd
print(pd.__version__)
1.0.3

III. Pandas 기본 활용법

  • Pandas가 제공하는 다양한 기능은 다음과 같지만, 본 튜토리얼에서는 Sample 위주로 다루도록 한다.
    • 부동 소수점 데이터뿐만 아니라 부동 소수점 데이터에서도 결측 데이터(NaN으로 표시됨)를 쉽게 처리함
    • 크기 변이성: DataFrame 및 고차원 객체에서 열을 삽입 및 삭제 가능
    • 자동 및 명시적 데이터 정렬: 객체를 라벨 집합에 명시적으로 정렬하거나, 사용자가 라벨을 무시하고 Series, DataFrame 등이 자동으로 데이터를 계산에서 정렬 가능
    • 데이터 집합에서 데이터 집합의 분할 적용 결합 작업을 수행할 수 있는 기능
    • 다른 PythonNumPy 데이터 구조에서 색인이 다른 데이터를 DataFrame 개체로 쉽게 변환
    • 지능형 라벨 기반 슬라이싱, 고급 인덱싱 및 대용량 데이터 세트 부분 집합 취하기
    • 직관적인 데이터 세트 병합 및 결합
    • 유연한 데이터 세트 재구성 및 피벗테이블 구성
    • 축의 계층적 라벨링(눈금당 여러 개의 라벨을 가질 수 있음)
    • 플랫 파일(CSV 및 구분), Excel 파일, 데이터베이스 로딩 및 초고속 HDF5 형식의 데이터 저장/로딩에 사용되는 강력한 데이터 IO 도구
    • 시계열별 기능: 날짜 범위 생성 및 주파수 변환, 이동 창 통계, 날짜 이동 및 지연.

IV. Pandas Sample Tutorial

  • 간단하게 Pandas를 활용한 Tutorial을 확인해보자.

(1) 파라미터 세팅

  • 먼저, 행과 열을 최대 출력하는 개수를 지정한다.
pd.set_option('display.max_columns', 500)
pd.set_option('display.max_rows', 500)

(2) 데이터 생성

  • 데이터를 생성하는 방법은 크게 2가지로 구분된다. (Series, DataFrame)
  • 먼저 Series를 만들어보자.
temp_series = pd.Series([1,2,3,5,8,13,21])
print(temp_series)
0     1
1     2
2     3
3     5
4     8
5    13
6    21
dtype: int64
  • 이제 Series에 있는 데이터와 함께 DataFrame을 만든다.
series_df = pd.DataFrame({
    "No":range(1,5), 
    "날짜":pd.Timestamp('20200601'), 
    "출석점수":pd.Series(5, index=list(range(4)), dtype='float64'), 
    "등급":pd.Categorical(["A등급", "B등급", "C등급", "D등급"]), 
    "구분":"학점"
})

print(series_df)
   No         날짜  출석점수   등급  구분
0   1 2020-06-01   5.0  A등급  학점
1   2 2020-06-01   5.0  B등급  학점
2   3 2020-06-01   5.0  C등급  학점
3   4 2020-06-01   5.0  D등급  학점
  • 이번에는 딕셔너리에서 데이터프레임으로 변환하는 소스코드다.
  • 아래 코드에서 보여주고자 하는 것은 딕셔너리의 크기가 동일하지 않아도, 데이터프레임으로 변환되는데 문제가 없다.
  • 다만, NaN으로 채울 뿐이다.
dict_df = [{'가': '사과', '나': '볼'},{'가': '비행기', '나': '방망이', '다': '고양이'}]
dict_df = pd.DataFrame(dict_df)
print(dict_df)
     가    나    다
0   사과    볼  NaN
1  비행기  방망이  고양이
  • 이번에는 배열에서 데이터프레임으로 변환하는 소스코드다.
sdf = {
    '국가':['한국', '미국', '일본'],
    'ISO-Code':[1,2,3],
    '지역': [4180.69, 4917.94, 454.07,],
    '위치': ["서울", "LA", "동경"]
    }
sdf = pd.DataFrame(sdf)
print(sdf)
   국가  ISO-Code       지역  위치
0  한국         1  4180.69  서울
1  미국         2  4917.94  LA
2  일본         3   454.07  동경

(3) 파일 입출력

  • 외부 데이터의 파일 입출력에 대한 코드를 입력한다.
url = 'http://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data'
df = pd.read_csv(url)
print(df.head(2))
   39          State-gov   77516   Bachelors   13        Never-married  \
0  50   Self-emp-not-inc   83311   Bachelors   13   Married-civ-spouse   
1  38            Private  215646     HS-grad    9             Divorced   

         Adm-clerical   Not-in-family   White   Male   2174   0   40  \
0     Exec-managerial         Husband   White   Male      0   0   13   
1   Handlers-cleaners   Not-in-family   White   Male      0   0   40   

    United-States   <=50K  
0   United-States   <=50K  
1   United-States   <=50K  
  • 컬럼명이 지정되지 않아 관측값이 컬럼명 위치에 있는 것을 확인할 수 있다.
  • 이 때에는 컬럼명을 먼저 저장한 뒤, 아래와 같은 코드로 실행하면 정상적으로 데이터프레임이 완성된다.
columns = ['age', 'workclass', 'fnlwgt', 'education', 'education_num', 
           'marital_status', 'occupation', 'relationship', 'ethnicity', 
           'gender','capital_gain','capital_loss','hours_per_week','country_of_origin','income']

df2 = pd.read_csv(url, names=columns)
print(df2.head(2))
   age          workclass  fnlwgt   education  education_num  \
0   39          State-gov   77516   Bachelors             13   
1   50   Self-emp-not-inc   83311   Bachelors             13   

        marital_status        occupation    relationship ethnicity gender  \
0        Never-married      Adm-clerical   Not-in-family     White   Male   
1   Married-civ-spouse   Exec-managerial         Husband     White   Male   

   capital_gain  capital_loss  hours_per_week country_of_origin  income  
0          2174             0              40     United-States   <=50K  
1             0             0              13     United-States   <=50K  
  • 컬럼명에 대한 정보는 Adult Data Set 에서 참고한다.
  • 판다스를 배울 때 조금더 자세히 배우겠지만, info() 함수를 사용하면 데이터의 일반적인 정보를 확인할 수 있다.
print(df2.info())
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 32561 entries, 0 to 32560
Data columns (total 15 columns):
 #   Column             Non-Null Count  Dtype 
---  ------             --------------  ----- 
 0   age                32561 non-null  int64 
 1   workclass          32561 non-null  object
 2   fnlwgt             32561 non-null  int64 
 3   education          32561 non-null  object
 4   education_num      32561 non-null  int64 
 5   marital_status     32561 non-null  object
 6   occupation         32561 non-null  object
 7   relationship       32561 non-null  object
 8   ethnicity          32561 non-null  object
 9   gender             32561 non-null  object
 10  capital_gain       32561 non-null  int64 
 11  capital_loss       32561 non-null  int64 
 12  hours_per_week     32561 non-null  int64 
 13  country_of_origin  32561 non-null  object
 14  income             32561 non-null  object
dtypes: int64(6), object(9)
memory usage: 3.7+ MB
None

V. 결론

  • 간단하게 Pandas를 활용한 데이터 생성 및 파일 입출력에 대해서 배우는 시간을 가졌다.
  • 만약, 빠르게 판다스를 활용하여 데이터 전처리를 연습 하고 싶다면, 공식홈페이지에 있는 10 minutes to pandas에서 학습하는 것을 권장한다.
  • 강사는 Kaggle 데이터를 활용하여 Pandas 함수를 응용할 것이다.

Reference

Mukhiya, Suresh Kumar, and Usman Ahmed. “Hands-On Exploratory Data Analysis with Python.” Packt Publishing, Mar. 2020, www.packtpub.com/data/hands-on-exploratory-data-analysis-with-python.

EDA with Python - NumPy Broadcasting

강의 홍보

공지

제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.

I. 개요

  • NumPy는 C언어로 구성되었으며, 고성능의 수치계산을 위해 나온 패키지이며, Numerical Python의 약자이다.
  • Python을 활용한 데이터 분석을 수행할 때, 그리고 데이터 시각화나 전처리를 수행할 때, NumPy는 매우 자주 사용되기 때문에 한번쯤은 꼭 다듬고 가는 것이 중요하다.
  • 이전 포스트에서는 Python - NumPy 소개 및 다양한 객체 생성에 대해 다루었으니, 본 포스트 읽기에 앞서서 기본적인 개념에 대해 확인하기를 바란다.

II. 모듈 Import

import numpy as np
print(np.__version__)
1.18.4

III. NumPy 기본 활용법

  • NumPy 객체 생성을 한 뒤에, 파일 저장, 서로 다른 배열끼리의 사칙연산 등을 수행할 수 있다.

(1) NumPy 객체 파일 저장 및 불러오기

  • savetxt, loadtxt, 그리고 genfromtxt 함수를 활용하여 객체를 불러오는 예제를 실습한다.
# 객체 생성 후 저장하기
x = np.arange(0.0, 50.0, 1.0)
print(x)
np.savetxt('data.out', x, delimiter=',')
[ 0.  1.  2.  3.  4.  5.  6.  7.  8.  9. 10. 11. 12. 13. 14. 15. 16. 17.
 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.
 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49.]
!ls
data.out  sample_data
  • 현재 폴더에 data.out 파일이 생성된 것을 확인할 수 있다.
# `data.out` 불러오기
z = np.loadtxt('data.out', unpack=True)
print(z)
[ 0.  1.  2.  3.  4.  5.  6.  7.  8.  9. 10. 11. 12. 13. 14. 15. 16. 17.
 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.
 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49.]
  • 정상적으로 data.out을 불러와서 z객체에 저장된 것을 확인할 수 있다.
# genfromtxt 활용
my_array2 = np.genfromtxt('data.out', 
                          skip_header=1, 
                          filling_values=-999)
print(my_array2)
[ 1.  2.  3.  4.  5.  6.  7.  8.  9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36.
 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49.]
  • z객체와 마찬가지로 my_array2도 객체가 정상적으로 생성된 것을 확인할 수 있다.

AWS - 회원가입 및 주요 서비스 간략 소개

I. Overview

  • 클라우드 서비스로써, AWS는 모든 IT 개발자에게 필수 Skill set과 같다.
  • 데이터 분석가, 싸이언티스트에게도 AWS는 반드시 알아야 할 서비스이다.
  • 매우 유명한 서비스이기에 자세한 내용은 다루지 않는다. 다만, 데이터 분석가라면 알아두어야 할 필수 서비스만 간단히 다루도록 할 예정이다.
  • 간단하게 회원가입을 진행하도록 하자.

II. Registration

  • Step 1. 웹사이트 접속 및 계정 생성
  • Step 2. [계정 생성] 페이지에서 이메일 주소, 암호, AWS 계정 이름을 입력하고 [계속] 버튼을 클릭한다.
  • Step 3. 이 때 계정 유형이 크게 [프로페셔널]과 [개인]으로 구분되는데, [개인]을 클릭한다. 연락처와 정보는 모두 영어로 기재하기를 바란다.
  • Step 4. [결제 정보] 페이지에서 본인 명의의 신용카드 또는 직불카드 정보를 입력한다.
    • 각 실습을 진행한 후에는 가급적 모두 삭제하기를 바란다.
    • 따라서, 실습을 할 때마다 정리하여 개인 개발블로그github에 정리하는 습관을 가지는 것을 추천한다.
  • Step 5. [지원 플랜 선택] 페이지에서 기본 플랜을 선택한다.