IT_developers

Python 데이터 분석(주피터노트북) - 넘파이(1) 본문

Python

Python 데이터 분석(주피터노트북) - 넘파이(1)

developers developing 2022. 10. 17. 12:00

빅데이터 분석을 위한 파이썬 라이브러리

  • Numpy : 과학계산 및 수학계산
  • pandas : 데이터 처리 및 분석
  • matplotlib, seaborn : 데이터 시각화
  • plotly : 오픈 소스인 대화형의 고품질 도면 및 인터렉티브한 그래픽 라이브러리
  • SciPy : 신초 처리, 최적화, 과학 계산 및 통계 처리
  • BeautifulSoup : HTML과 XML 에서 정보를 수집
  • Scrapy : 웹 크롤링 및 데이터 수집
  • TensorFlow : 머신러닝 및 딥러닝
  • Keras : 신경망 라이브러리 및 딥러닝
  • NLTK : 자연어 처리

 

Numpy (Numerical Python)

  • 파이썬의 수치 해석 프로그램인 Numeric 를 개선, 보완한 패키지
  • 산술 계산을 위한 가장 중요한 필수 패키지
  • 효율적인 다차원 배열인 ndarray는 빠른 배열 계산과 유연한 브로트캐스팅 기능 제공
  • 반복문을 작성할 필요 없이 전체 데이터 배열을 빠르게 계산할 수 있는 표준 수학 함수
  • 배열 데이터를 디스크에 쓰거나 읽을 수 있는 도구와 메모리에 적재된 파일을 다루는 도구
  • 선형대수, 난수 생성기, 푸리에 변환 기능
  • 이미지와 컴퓨터 그래픽을 빠르게 처리
  • C, C++, 포트란으로 작성한 코드를 연결할 수 있는 C API 제공

 

  1. 넘파이 배열
    • 벡터와 매트릭스를 배열이라고 함
    • 벡터(1차원), 매트릭스(2차원), 텐서(3차원 이상)
    • 논리적이고 통계적인 연산과 푸리에 변환 같은 연산을 매우 효율적으로 처리
    • 머신러닝에서 사용되는 주요 데이터 구조
  2. ndarray 클래스 - 넘파이 배열 클래스 타입
    • 다차원 배열을 쉽게 생성하고 다양한 연산 수행
    • np.array(ndarray로 변환을 원하는 객체)
    • shape - 차원과 크기를 튜플 형태로 돌려줌
    • ndim - n dimesion(차원 확인)

 

1) np.array([리스트]) : python의 리스트를 이용해 배열 생성

1차원 배열(벡터)

 

2차원 배열

 

2) ndim : 차원 수

 

3) dtype : data type

  • 파이썬의 리스트와 넘파이 배열과의 가장 큰 차이점은 넘파이 경우에는 같은 타입으로만 구성되어야함

 

4) astype(변환할 타입)

 

넘파이 배열 생성 함수

1)  arange(n) : 0 ~ n-1 까지 값을 순차적으로 ndarray 값으로 생성

  • arange == python에서 range

 

2)  zeros(행,열) : 0으로 채워서 ndarray 반환

 

3) ones(행,열) : 1로 채워서 ndarray반환

 

4) np.empty(행,열) : 무작위 값으로 ndarray 생성

  • 속도는 empty가 제일 빠르다고 알려져 있음

 

5) np.full((행,열), 채울값) : 지정된 값으로 채워서 ndarray 생성

 

6) np.eye() : 단위행렬로 ndarray 생성

  • 가운데 값 = 1

 

7) np.linspace(시작값, 마지막값, 전체개수) : 명시된 간격으로 균등하게 분할된 ndarray 생성

 

8-1) np.random.rand(행,열) : 0~1사이의 숫자가 랜덤으로 생성

  • random : 실행할 때마다 값이 다름

 

8-2) np.random.randn((행,열)) :정규분포로 샘플링 된 랜덤 ndarray 생성

 

9) np.random.randint(시작값, 마지막값,(행,열)) : 지정해 준 정수로 된 랜던 ndarray 생성

 

※ seed (임의의 수) : 랜덤한 값을 동일하게 다시 생성하고자 할 때 사용

  • 계속 실행해도 같은 값이 출력

 

10)  choice() : 주어진 1차원 ndarray로부터 랜덤하게 샘플링

 

Comments