김용담 강사님과의 재회

4.1에 첫 개강 특강을 하셧던 김용담 강사님이 맡으신 강의가 Python EDA였습니다.
특강 때 엄청나게 많은 전문용어를 말씀하시면서 제 멘탈 메인 딜러였어서 걱정을 많이 했습니다.

만! 특강과는 다르게 수업에서 하시는 내용은 사전 인터넷 강의보다 쉽고 명료하게 알려주셨습니다.
특강 때는 다른 수강생의 질문에 답해 주시느라 전문용어가 많이 나올 수 밖에 없는 구조였나봅니다.
덕분에 수월하게 EDA를 배울 수 있었습니다.

EDA?

EDA는 Exploratory Data Analysis(탐색적 데이터 분석)의 줄임말로 특정 Dataset을 보기 좋게 가공해서 특성, 구조, 패턴, 상관관계 등을 분석하기 쉽게 만들기 위한 기술과 방법론입니다.
이번 시간에 배운 건 Numpy, Pandas, Seaborn 총 3개입니다.

Numpy

수치 연산 및 벡터 연산에 최적화된 라이브러리입니다. 일반 python의 list형은 사칙 연산하기에 적합하지 않은 형태인데 반해 Numpy를 활용해 만들어진 Array는 각종 계산을 빠르고 쉽게 처리할 수 있게 도와줍니다.

List와 같은 점

  • indexing으로 원소를 접근할 수 있다.
  • 생성 후 assignment operator를 이용해서 원소의 Update가 가능하다.

List와 다른 점

  • 선언한 이후 크기 변경이 불가능하다.
  • 모든 데이터의 데이터 타입이 같아야 한다.

Numpy 써보기

EDA에 사용되는 라이브러리는 외부 라이브러리로 import를 통해 불러와서 선언해야 합니다.(물론 그전에 설치가 되어야합니다.)

!pip intall Numpy
import Numpy as np # Numpy를 np로 하는 건 전 세계적 암묵적 룰이라 익숙해져야합니다.

이후 list의 형태를 np.array() 함수를 쓰면 Numpy의 array형태가 됩니다.

data = [[1, 2],  # data의 2차원 리스트 선언
		[3, 4]]
np.array(data) 	 # data를Numpy array로 변환

해당 형태가 되면 Numpy를 쓸수 있는 최소 조건이겠죠?

Pandas

정형 데이터를 효율적으로 표현할 수 있는 DataFrame 형태로 데이터를 표현할 수 있게 도와주는 라이브러리로 indexing(=searching)부터 시작해서 reshaping, concatenation, reading/writing ,... 많은 기능을 제공합니다.
Numpy와 관련되어 있는 Pandas는 벡터 연산에 최적화 되어있습니다.
다만 현재 Pandas는 명령어가 바뀌고 있는 중이라 버전에 따른 Pandas의 명령어 차이가 있습니다.

Pandas 써보기

EDA에 사용되는 라이브러리는 외부 라이브러리로 import를 통해 불러와서 선언해야 합니다.(물론 그전에 설치가 되어야합니다.)

!pip intall Pandas
import Numpy as np # Numpy와 Pandas는 연관이 많이 되어있어 같이 import하면 편합니다.
import Pandas as pd # Numpy와 마찬가지로 전 세계적 암묵적 룰이라 익숙해져야합니다.

이후 Pandas로 다룰 DataFrame을 선언해줘야 합니다. 다음은 임의로 DataFrame을 만드는 코드입니다.

np.random.seed(42) # randomseed의 고정
df = pd.DataFrame(data = np.random.randn(12, 4), # 
                index = np.arange(0, 12), # index 0~11
                columns = ['X1', 'X2', 'X3', 'X4']) # column는 순서대로 X1, X2, X3, X4
                df

해당 코드를 실행하면 다음과 같이 결과가 나옵니다.

Seaborn

Seaborn은 보다 그래프를 그리는데 최적화 된 라이브러리로 데이터의 시각화를 하는데 많이 쓰이는 라이브러리입니다. matplotlib를 확장한 기능들로 다양한 plot을 그릴 수 있고 Numpy와 Pandas의 data를 받아들여서 처리할 수 있다는 장점이 있습니다.

Seaborn 써보기

EDA에 사용되는 라이브러리는 외부 라이브러리로 import를 통해 불러와서 선언해야 합니다.(물론 그전에 설치가 되어야합니다.)

!pip intall Seaborn
import Seaborn as sns # 왜 Seaborn을 줄이는데 sbn이 아닐까요...

이후 Pandas 등으로 처리된 DataFrame을 사용해서 원하는 plot을 그리면 됩니다.

후일담

인강으로 했을 때보다 명료한 설명과 많은 자료를 제시해 주셔서 이해하고 실행하는데 문제가 없었습니다. 5월 1일부터 진행 될 프로젝트가 기대되는 수업이었습니다.

출처 : Upstage AI Lab 3기 Python EDA 김용담 강사님 PDF

0개의 댓글