플레이데이터 부트캠프 데이터 엔지니어링 트랙 3주차 (6.19~.23)

안인균·2023년 6월 27일
0
post-thumbnail

지난 주차의 내용이 '파이썬의 기초' 였다면, 이번 주차는 '파이썬의 응용' 을 학습하였습니다.
4L 회고 방식으로 진행하겠습니다.

Liked

  • 이전까지 파이썬의 기초를 학습하다가 본격적으로 파이썬의 내장 모듈을 사용하면서 다양한 예제문과 실습 과제를 실행하는 것이 매우 좋았습니다. 특히, 다양한 환경에서의 실습이 이후 혼자 학습할 때 겪을 수 없는 것들을 배웠기 때문에 많은 도움이 되었습니다.

  • pandas의 DataFrame 형식에서 apply를 활용한 예제문을 실행해서 익히는 방법을 조금이라도 이해할 수 있어서 좋았습니다.

  • JOIN 관련 SQL의 내용을 미리 알 수 있어 좋았습니다. 추후에 SQLD 자격증 공부에 도움이 되었습니다.
    JOIN 관련 개념 이해 링크

  • Pandas 모듈의 전반적인 내용을 배우고, 크롤링의 예시 코드를 받아서 직접 확인해볼 수 있는 좋은 기회가 있어서 좋았습니다.

  • 데이터 시각화관련 수업은 상당히 많은 내용이었지만 다양한 예제들을 통해 달라지는 데이터 시각화 결과를 즉시 볼 수 있어 좋은 경험이었습니다.

Lacked

  • 국민취업지원제도 신청으로 관련 상담을 받았고, 이 상담을 위해서 2번의 수업 내용 도중 조퇴, 지각을 했어서 그 시간동안 못들은 내용에 대해 개인 복습을 진행했지만, 당시의 강의를 듣지 못한 것이 아쉬웠습니다.

  • 지난주와 다른 파이썬의 심화 내용 학습으로 인해 순간 복잡스러움을 느꼈고, 피로감을 느껴서인지 졸림이 오는 위기를 경험했습니다.

  • 복습 내용 중 neaxis, axis, 다양한 배열 연결의 차이에 대해 어제 하지 못한 학습 부분이어서 혼란을 겪었습니다.

Learned

  • 파이썬 실행 환경이 Pycharm에서 colab으로 변경되었습니다.

  • Numpy는 데이터 분석 단계에서 자주 쓰이는 패키지 툴 입니다.

  • 이전에 배운 리스트 자료형을 Numpy의 array(배열)을 사용해서 특정한 유형의 데이터를 보다 효율적으로 다루는 법을 배웠습니다.

$pip install numpy 
# 만약, anaconda 사용 -> numpy가 기본 설치됨
# or colab 사용 -> colab에는 numpy가 기본 내장되어있음.
import numpy as np
np.array([1,2,3])
  • 1,2,3 차 배열을 생성하고 각각의 요소들을 벡터화 연산을 통해 응용하는 것을 학습하였습니다.

  • 이외에 배열의 복사, 인덱싱, 슬라이싱, 검색 등 배열을 탐색할 수 있는 방법을 배웠습니다.

  • 다양한 방식의 배열 생성 방식과 변형 방법을 알 수 있었습니다.

  • 배열의 연산, Numpy에서 서로 다른 크기를 가진 두 배열의 사칙 연산을 지원하는
    -> "브로드캐스팅"이 실행됩니다. (<- 크기가 작은 배열을 자동으로 반복 확장하여 크기가 큰 배열에 맞추는 방법)

a = np.arange(10)
a *10
# -> array([0,10,20,30,40,50,60,70,80,90]) 의 결과값을 가질수 있게됨.
# 브로드캐스팅으로 인해, a, 크기 10을 가진 배열과 10 하나의 곱연산이 
# a 배열의 각 요소에 각각 실행될 수 있게 되었습니다. 
  • 배열의 정렬 :
sort : 배열 안의 원소를 크기에 따라 정렬하여 새로운 배열 생성
2차원 이상인 경우에는 행이나 열을 각각 따로따로 정렬
axis=0 : 각각의 행을 따로따로 정렬
axis=1 : 각각의 열을 따로따로 정렬
axis=-1 : 가장 안쪽(나중)의 차원 (default)
  • np.random. 에 들어있는 메서드들의 다양한 예제문을 작성하여 학습하였습니다.
np.random.rand(~~)
np.random.randint(~~)
np.random.choice(~~)
np.random.randn(~~)
  • Pandas 모듈을 새로 배웠습니다. 그 중 'Series' 클래스를 활용한 다양한 예제들과 개념을 학습하였습니다.
# $pip install pandas
import pandas as pd
pd.Series(range(10,14))

# 0    10
# 1    11
# 2    12
# 3    13
# dtype: int64

# 코드에 예제에서 확인할 수 있듯이 딕셔너리 자료형과 Numpy의 1차원 배열의 특징들 보입니다.
  • Pandas, 데이터 프레임(DataFrame) 에 대한 학습
import pandas as pd
df = pa.DataFrame(data, columns = , index = )
df
  • 데이터프레임 내 에서 인덱싱, 슬라이싱 하는 방법을 배웠습니다. 처음에 [ ]에 들어가는 값이 헷갈렸는데 뒤에 '데이터 프레임 조작' 부분에서 'loc 인덱서' 예제를 실행하면서 점차 앞부분을 이해하는데 도움이 되었습니다.

  • 데이터프레임을 조작하는 각종 메서드들을 학습하고, 예제문, 예시문제를 통해 학습을 완료했습니다.

  • pandas 데이터 프레임의 합성(merge)에 대한 다양한 예제문과 실습하는 과정을 경험할 수 있었습니다.

import pandas as pd

# 첫 번째 데이터프레임 생성
df1 = pd.DataFrame({'A': [1, 2, 3],
                    'B': [4, 5, 6]})

# 두 번째 데이터프레임 생성
df2 = pd.DataFrame({'A': [1, 3, 5],
                    'C': [7, 8, 9]})

# 'A' 열을 기준으로 데이터프레임 합성
merged_df = pd.merge(df1, df2, on='A')
print(merged_df)

### 출력 결과
   A  B  C
0  1  4  7
  • 피봇테이블 :
    데이터 열 중에서 두 개의 열을 각각 행과 열 인덱스로 사용해서 데이터를 조회해 놓은 것. ex) excel
    피봇테이블 pivot (행 인덱스로 사용할 열이름, 열 인덱스로 사용할 열 이름)

  • 그룹분석 :
    조건에 맞는 데이터가 하나 이상일 경우에 -> 데이터 그룹을 이룸 (피봇 테이블 형태로 표현을 X)
    그룹의 특성을 보여주는 (통계치, 계산...) => 그룹 분석 (group analysis)
    group -> groupby

  • 데이터 시각화 :
    Matplotlib 모듈을 활용해서 데이터셋을 다양한 차트, 플롯(plot)으로 표현하는 것을 다양한 예제문과 함께 학습했습니다.

  • 데이터의 종류 :
    수치형 데이터 : 연속형 데이터, 이산형 데이터
    범주형 데이터 : 순서형 데이터, 명목형 데이터


  • 탐색적 데이터 분석(Exploratory Data Analysis)과 그래프 :

그래프, 통계 수치 등을 활용해서 데이터를 파악하는 과정
탐색적 데이터 분석 단계에서는 다양한 그래프 그림.
그래프는 데이터를 한눈에 파악하는데 도움을 줌 (경향성)

 1. 데이터가 어떻게 구성되어 있는지
 2. 어떤 변수(피처)가 중요한지
 3. 어떤 피처를 제거할지
 4. 어떻게 새로운 변수를 만들지 등

모델링에 필요한 다양한 정보를 얻을 수 있다.

모델링 : '변수들' -> 답을 이끌어내는 과정

  • 다양한 종류의 시각화(분포 시각화, 공간 시각화, ...등)을 배울 수 있었고, 데이터 종류에 따른 시각화에 사용되는 서로 다른 그래프, 플롯들에 대해 다양한 예제문과 함께 학습할 수 있었습니다.

  • Streamlit 에서 데이터 시각화, 차트를 표현할 때 plotly를 활용하면 퀄리티가 좋은 결과물을 출력할 수 있음을 알 수 있었습니다.

Longed for

  • Streamlit을 활용해 사이트 개발에 대해 좀 더 알아보기, Numpy, Pandas, 데이터 시각화 등을 활용해서

  • 수업 중 잘 이해가 안갔던 내용들 chatGPT를 통해 정리해서 블로그 업로드

  • 알고리즘 문제 풀기

0개의 댓글

관련 채용 정보