Education

[KT AIVLE/2024.02.23] 한기영 강사님의 [Python Library] 강의 정리: Numpy, Pandas 라이브러리의 이해

마크 주쿼버그 2024. 2. 27. 23:29

 

목차

1. 서론

2. 실습 환경

3. 수업 내용 요약

4. 상세 내용

5. 느낀 점

 

 

 

1. 서론

오늘은 사실 5일차 수업인데 3일차 수업부터 블로그 포스팅이 밀려서 부랴부랴 남기고 있다. 매일 복습은 꾸준히 했는데 노션 정리 따로, 에이블스쿨 우리반 게시판에 정리 따로, 블로그 포스팅 따로 이렇게 세 번 글을 정리하려고 하니까 조금 비효율적인 것 같다. 효율적으로 정리할 수 있는 방법을 찾아야겠다. 그러나 이상하더라도 꾸준히 하는 것이 더 중요하다. 좋은 결과만 보여주려고 멈추면 결국 안 하게 되니까. 조금씩 변하더라도 일단 계속 하긴 하자.

3일차 수업을 정리하려고 하는데 계속 한기영 강사님의 "한기영 강사님 밉다, 라고 쓰면 안 돼요~" 라는 말이 머리 속에 멤돈다. (ㅋㅋ) 한기영 강사님 수업을 4일째(2일차~5일차) 듣고 있지만 정말 강의 잘 하시는 것 같다. 수업이 끝나고 나면 공부하고 고민할 요소들이 많아서 더 재밌다. 수업이 끝난 후 해야 할 일이 많다는 게 조금 흠이긴 하지만, 내가 가진 구멍들이 쏙쏙 채워지는 기분이 들어서 뿌듯함이 더 크다.

 

오늘은 Numpy, Pandas에 대해 배웠다. 넘파이 배열(혹은 데이터프레임)을 생성하고 수정하고, 배열 값을 연산하는 등 여러 기능에 필요한 함수, 메소드, 속성들이 대거 등장하였다. 현재 포스팅이 밀려있는 관계로 자세한 내용은 주말에 추가하도록 하고, 큰 흐름을 먼저 정리하려고 한다.

 

 

2. 실습 환경

개발 환경은 2일차와 마찬가지로 Jupyter 환경에서 진행되었다. 그리고 pandas, numpy 라이브러리가 설치되었다는 가정 하에 진행되었다. (주피터 환경 설치 방법이나 라이브러리 설치 방법은 2일차에서 언급하였으므로 별도로 정리하지 않았다.)

 

 

3. 수업 내용 요약

1. 데이터 분석에서 사용되는 분석 데이터의 종류와 형태에 대해서 알아보았다.

2. Numpy와 Pandas 라이브러리에 대해 배우고 기본 사용법을 익혔다.

 

 

4. 상세 내용

4-1. 분석 데이터의 종류와 형태

- 분석 데이터는 대체적으로 2차원의 표 형태이며, 이를 Table, 2D-Array, Dataframe이라고 부른다.

- 분석 가능한 정보의 종류는 크게 범주형 데이터와 수치형 데이터로 나뉜다. 범주형 데이터는 명목형 데이터와 순서형 데이터로 나뉘고, 수치형 데이터는 연속형 데이터와 이산형 데이터로 나뉜다.

- 범주형 데이터는 대체로 "우리가 정의한 값"이므로 모르는 값이 등장할 가능성이 낮다.

대분류 소분류 예시
범주형 데이터 명목형 데이터 성별, 시/도, 흡연 여부, 이탈 여부 등
  순서형 데이터 연령대, 매출등급 등
수치형 데이터 연속형 데이터 판매량, 매출액, 나이 등
  이산형 데이터 온도 등

 

- 표는 열(Column)과 행(Row)으로 구성된다.

- 열은 정보, 변수, 요인이라고 불리며, 행은 분석 단위, 샘플, 관측치, 데이터 포인트, 단위 데이터 등으로 불린다.

 

 

4-2. Numpy 라이브러리의 개념과 주요 용어

- 넘파이 라이브러리는 데이터 분석 과정에 필요한 '수치 연산'을 수행하기 위해 만들어진 데이터 구조이자 라이브러리이다.

- C언어로 만들어졌고, 벡터와 행렬 연산에 편리한 기능들을 제공한다.

 

[Numpy에서 알아야 할 주요 용어]

용어 의미
Axis 배열의 각 축을 의미한다.
첫 번째 축인 Axis 0은 데이터의 건수를 의미한다.
Rank 축의 개수(차원)을 의미한다. 
Shape 축의 길이를 의미한다.

 

- Shape이 (3, )인 배열은 길이가 3인 1차원 배열(Rank=1)이고, 이 때에는 방향이 없다.

- Shape이 (3, 4)인 배열은 첫 번째 축의 길이는 3, 두 번째 축의 길이는 4인 2차원 배열(Rank=2)을 의미한다.

- Shape이 (2, 3, 4)인 배열은 첫 번째 축의 길이가 2, 두 번째 축의 길이가 3, 세 번째 축의 길이가 4인 3차원 배열(Rank=3)을 의미한다.

 

4-3. Numpy 라이브러리 활용

(추후 내용 추가 예정)

 

 

4-4. Pandas 라이브러리의 개념과 특징

- 데이터 분석에서 비즈니스 ‘데이터 표현’을 잘 수행하기 위해 만들어진 데이터 구조 및 라이브러리이다.

- csv, xlsx와 같은 파일에서 값을 불러올 수 있고, 이를 가공하여 다시 파일 형태로 저장할 수 있는 메소드도 제공한다.

- 1차원 배열을 Series, 2차원(이상)의 배열을 Dataframe이라고 한다. 그리고 Series는 보통 데이터프레임에서 하나의 ‘열’을 떼어낸 것을 의미한다.

- 여러 조건을 만족하는 행을 조회할 때에는 and, or 대신 &, |를 사용하여야 한다.

- between()을 사용할 때, 범위를 (25, 30)과 같이 설정한다면 기존의 range와 달리 30도 포함한다.

 

 

4-5. Pandas 라이브러리 활용

(추후 내용 추가 예정)

 

 

5. 느낀 점

내용 자체는 어렵지 않지만 양이 많아서 여러 번 반복하며 익힐 필요가 있다는 생각이 들었다. 데이터 분석이나 모델링 작업을 할 때 많이 활용했던 부분들이기 때문에 앞으로도 많이 활용할 부분이 될 것이다. 물론 여러 라이브러리를 활용하다보면 함수나 메소드 종류가 방대하다 보니 까먹을 수도 있다. 그럴 땐 물론 찾아보면 되지만, 오늘 배운 내용만큼은 아주 기초적이면서도 핵심적인 내용이니 꼭 암기할 수 있도록 하자. 화이탱!!!!!!!!!!!!

 

그럼 안녕 ~