PYTHON

[Python]7. Numpy 라이브러리

CodeJaram 2023. 6. 20. 08:12

1. 라이브러리(library)

   -자주 쓰는 함수, 변수들을 모아놓은 파이썬 파일

   -자주 사용하는 기능을 모듈화, 패키지화

 

2. 라이브러리의 종류

  1)표준라이브러리: 파이썬에서 기본으로 제공하는 라이브러리 예)Random

  2)외부라이브러리: 개발자가 필요에 의해 개발한 패키지와 모듈의 집합

 

3. 모듈 사용하기

   -모듈에 함수 정의 후 python 확장자로 다운로드하고 주피터 노트에 업로드

   -새 파일에서 모듈 import하여 함수 사용하기

 

[데이터 분석 라이브러리]

1. numpy

   -파이썬 자료형 list와 비슷한 형태

   -빠르고 효율적인 산술연산을 제공하는 다차원배열 제공(ndarray 클래스)

   -반복문 없이 전체 데이터 배열 연산이 가능한 표준 수학 함수(sum(), sqrt(), mean())

   -사용방법: import numpy as 별칭

 

2. numpy.ndarray 클래스

   -동일한 자료형을 가지는 값들이 배열 형태로 존재

   -N차원 형태로 구성이 가능함

   -각 값들은 양의 정수로 색인(index)가 부여됨→인덱싱 슬라이싱 가능

   -ndarray를 줄여서 array로 표현

 

3. 리스트와 넘파이 배열의 차이점

  리스트 넘파이 배열
데이터 연산 문자열처럼 뒤에 붙여짐 같은 인덱스의 데이터끼리 연산
자료형 다양한 자료형 입력가능 동일한 자료형만 입력가능
다른 자료형을 입력하면 형변환

 

4. N차원 numpy 배열 생성: 넘파이 배열 생성 전 list 만들기

1)1차원 배열: 열 방향으로 증가

  -생성방법: list 먼저 생성→np.array(list 변수명)

   예)arr1=np.array(list1)

 

2)2차원 배열: 열, 행 방향으로 증가

 -생성방법: 중첩된 list 먼저 생성→np.array(list 변수명)

    예)list4=[[1,2,3], [4,5,6]]

       arr2=np.array(list4)

 

3)3차원 배열: 2차원 배열이 여러 개 증가

   -생성방법: np.array([[[ 리스트1], [리스트2], [리스트3], [리스트3 ]]])

     예)arr3=np.array([[[1,2,3], [4,5,6]],

          [[7,8,9], [10,11,12] ]])

 

 

 

5. 자료구조 확인

  ● 배열의 모양(크기) 확인: 넘파이배열명.shape

  ● 배열의 개수 확인:넘파이배열명.size

  ● 배열의 차원 확인: 넘파이배열명.ndim

  ● 배열의 타입 확인:넘파이 배열명.dtype

 

 

6. 특정한 방식으로 넘파이 배열 생성하기

  1)데이터 0으로 초기화하여 배열 생성 np.zeros(배열의 크기)

  2)데이터 0으로 초기화하여 배열 생성 np.ones(배열의 크기)

  3)데이터를 특정 값으로 초기화하여 배열 생성 np.full(배열의 크기)

  4)순차적으로 증가하는 값으로 배열 생성 np.arange(시작값, 끝값+1, 증감값)

 

7. 데이터 타입변경

   1)이미 생성된 배열의 데이터 타입 변경하기

         -변경하고 싶은 배열명.astype("데이터 타입")

   2)배열을 생성하면서 데이터 타입 변경하기

        -np.array(배열, dtype="데이터 타입")

 

8. 넘파이 배열 연산: 같은 인덱스의 데이터끼리 연산

     예)arr_a+arr_b =[1,2,3,]+[4,5,6] →[5,7,9]

 

9. 넘파이 배열 인덱싱: 넘파이 배열명[인덱스번호]

 

10.넘파이 배열 슬라이싱: 넘파이 배열명[시작값: 끝값+1]

  -여러 개의 값을 한번에 출력하려면 리스트로 묶어서 작성

  -배열명[[행1,행2,행3],[열1,열2,열3]]

 

11.새로운 차원 재배치: reshape()

  -원래 있는 넘파이 배열을 새로운 차원의 배열로 재배치할 때 사용

  -넘파이 배열명.reshape(변경할 배열의 shape)

   -reshape 사용 시 행과 열 둘 중에 하나의 값만 정해주고 나머지 값은 -1로 지정하면

     자동으로 계산하여 재배치

 

12. boolean 인덱싱(색인, 마스킹): 배열 안에서 조건을 충족하는 True인 값들만 추출하는

인덱싱 방법, 데이터에 조건에 해당하는 값이 존재하는지 확인할 때 사용

         -사용방법: 넘파이배열명[넘파이조건]

 

   1)조건을 부여하여 논리 연산: 조건을 실행하면 결과값을 True, False로 반환

    2)조건에 맞는 데이터 추출: 넘파이배열명[넘파이조건]

    3)서로 다른 배열 조합하여 인덱싱: np배열명1[np배열명 2 조건]

→이름이 ‘윤호’인 사람의 점수 데이터 출력

 

2. numpy 범용 함수: np.sum(), np.mean(), np.max(), np.min()

*random: random import→np.random.randint(시작값,끝값+1, size=”배열의 크기”)

'PYTHON' 카테고리의 다른 글

[Python]9.Matplotlib  (0) 2023.06.23
[Python]8. Pandas 라이브러리  (0) 2023.06.22
[Python]6. 딕셔너리, 함수  (0) 2023.06.19
[Python]5. 반복문 실습  (0) 2023.06.15
[Python]4. 반복문  (0) 2023.06.11