티스토리 뷰

반응형

Numpy 

딥러닝 Input 데이터 (3차원 이상의 배열)

Numpy 라이브러리로 구현

 

특징

고속 연산

  • 파이썬 리스트에 비해 빠른 속도와 좋은 메모리 효율
  • 선형대수 연산이 가능
  • 쉬운 데이터 배열 처리(반복문 필요 없음)

 

쉽고 빠른 배열 전환

  • 3차원에서 2차원으로 전환(차원 변경)

(3,2,4) > (4,6)

 

다양한 내장 함수 제공

  • 축(axis)에 따른 집계 연산 가능
  • 배열의 형태 조전이 맞으면 다른 배열과 연결 가능
  • 손쉬운 랜덤 샘플링 가능(난수 생성)

행별, 열별 연산

 

Numpy 배열

ndarray의 shape/ndim/size 속성을 이용하면 

배열의 형태/차원/원소 개수 파악 가능

 

(2,4,4) -> shpae

ndim -> 3

size : 32

 

 

Pandas 라이브러리

Dataframe(Pandas)

통계 분석 / 머신러닝

Pandas 라이브러리로 구현

 

강력한 스프레드시트 처리(쉽고 빠르게 데이터 선택 가능)

데이터 통계 분석 (데이터 끼리 묶기 가능)

 

Dataframe과 series로 구분하여 나타낼 수 있다.

 

DataFrame(엑셀과 같은 형태)

  나이 성별
사람1 33
사람2 28

 

Series

나이
33
28
성별

 

데이터 프레임의 열로 구성된 형태

 

데이터 프레임의 행은 Recod라고 부른다

 

 

Numpy의 데이터 선택

 

arr이라는 넘파이 array가 있다고 가정

[[1,2,3,4],[5,6,7,8]]

 

Slicing - arr[1,:] = [5,6,7,8]

Indexing - arr[1,0] = 5

리스트와 다르게 [x,y] 표기법 가능

 

Boolean Indexing - arr[arr >3] - array에서 3보다 큰 요소들을 선택하라

= [4, 5, 6, 7, 8[

 

Fancy Indexing - arr[[0,0]]

대괄호로 한 번 더 감싸면, 배열에 인덱싱 값을 주어 반환

=[[1,2,3,4],[1,2,3,4]]

즉, 인덱스 안의 번호도 선택 가능하다.

 

Pandas의 데이터 선택

데이터 가정

id a b c
0 0 2 5
1 22 27 19
2 7 24 14

 

slicing - df[0:2]

id a b c
0 0 2 5
1 22 27 19

id를 기준으로 슬라이싱

 

indexing - df['a']

column 이름으로 명시

시리즈 형식으로 나타난다

0 0
1 22
2 7

 

Boolean Indexing

df[df['a'] > 20]]

id a b c
1 22 27 19

 

Fancy Indexing

df[['a','b']]

id a b
0 0 2
1 22 27
2 7 24

 

 

loc 인덱서

df.loc[0,'a'] =0

df.loc[0,['a','b]] = [0,2]

 

사용법 : df.loc[행, 원하는 열의 이름]

loc는 원하는 행렬의 이름을 정확히 입력하는 게 필요하다.

 

iloc 인덱서

df.iloc[1,0] =22

df.iloc[1,[0,1]] = 22,27

 

사용법 : df.iloc[행, 열의 순서]

loc는 원하는 열의 번호를 정확히 입력하는 게 필요하다.

반응형