synapse

[기초 세션 복습] AI를 위한 필수 수학&도구

minjin 2026. 3. 15. 15:41

2026년 3월 9일 synapse 기초 세션 복습입니다

 

 

 

Numpy와 Pandas 소개

-Numpy

행렬과 다차원 배열 계산을 위한 파이썬 라이브러리

선형대수 기반 수치 계산을 빠르게 처리

-> 배열 기반 수치 계산 라이브러리

-Pandas

데이터 테이블 처리를 위한 파이썬 라이브러리

다양한 파일 형식의 데이터 읽기/쓰기 지원

데이터 정리, 전처리, 분석에 활용

-> 데이터 테이블 처리 믹 분석 라이브러리


Numpy 핵심

-배열 생성

리스트나 범위 데이터를 이용해 NumPy 배열(array)을 생성할 수 있음

-shape 개념

배열의 각 차원의 크기를 나타내며 데이터 구조와 차원 정보를 확인 가능

-연산

NumPy 배열은 같은 위치의 요소끼리 계산하는 element-wise 연산을 지원

-내적

벡터 또는 행렬 간 곱셈을 통해 새로운 벡터나 행렬을 계산하는 연산

-브로드캐스팅

차원이 다른 배열 간 연산시 작은 배열을 자동으로 확장해 계산 


Pandas 핵심

-series와 dataframe

series는 1차원 데이터 구조, dataframe은 여러 series로 이루어진 2차원 테이블 형태의 데이터 구조

-dataframe 생성

리스트나 딕셔너리 등의 데이터를 이용해 dataframe 형태의 테이블 데이터를 생성

-데이터 조회

head(), tail() 등의 함수를 사용해 데이터 일부 확인 가능

-인덱싱

loc, iloc 등을 사용하여 특정 행이나 열의 데이터를 선택

-데이터 추출

조건식을 이용하여 특정 조건을 만족하는 데이터만 선택


헷갈리거나 어려웠던 내용 / 다시 봐야 할 내용

 

(numpy)

numpy.random.rand()

0부터 1 사이에서 균등하게 실수를 뽑음

-> 모든 값이 같은 확률로 나옴: 균등분포


numpy.random.randn()

평균 0, 표준편차 1인 정규분포에서 값을 뽑음

-> 0 근처 값이 훨씬 많이 나옴: 정규분포


행렬 계산(선형 대수)을 할 수 있는 함수들

-np.dot(): 행렬 곱

-np.transpose(): 전치 행렬

-np.linalg.inv(): 역행렬

-np.linalg.det(): 행렬식

-np.linalg.eig(): 고유값, 고유벡터


(pandas)

s.index: pandas의 series 객체에서 인덱스 값을 확인할 때 사용하는 속성

-> series의 인덱스 목록을 반환 / 데이터 값이 아니라 각 데이터의 위치 이름(라벨)을 보여줌(0부터 시작)


inplace = True 가 위험한 이유inplace =True는 원본 데이터프레임을 바로 변경함

 

df.set_index("country", inplace=True) 실행 시원래 상태로 되돌리기 어려움 / 실수하면 데이터 구조가 바뀜

 

따라서 df2 = df.set_index("country")  이런 식으로 사용


df.iloc를 사용하는 경우 dataframe 형태에서 series 형태로 바뀔 수 O

-> 원래는 열이었던 부이 인덱스처럼 보일 수 있음 

dataframe
df.iloc[0]의 결과

 

동일한 형태로 보이게 하고 싶다면 

df.iloc[[0]]으로 출력


(start, stop)

loc -> stop 포함

iloc -> stop 미포함


타입: series 변함
타입: dataframe 유지


데이터 추출하기

filter() 함수: 레이블(행 이름, 열 이름) 기준으로 데이터를 선택하는 함수

-> 데이터 값이 기준이 아니라 행 또는 열의 이름을 기준으로 특정 레이블을 선택하거나 제외

axis=0
axis=1

axis 속성 미설정 시 기본값인 axis=1로 실행(컬럼의 이름 탐색)

axis=0으로 설정 시 인덱스의 이름 탐색


실습 파일 첨부

실습 환경: 구글 코랩

 

-numpy

https://colab.research.google.com/drive/1gedi86exup2L0Ahn-wP7JqqwohkE4Ot0?usp=sharing

-pandas

https://colab.research.google.com/drive/1THqQ84YEyXclqnwQmT-RKzNT9hYPElAl?usp=sharing