1. Numpy란?

numpy는 Numerical Python의 약자로 행렬이나 일반적으로 대규모 다차원 배열을 쉽게 처리 할 수 있도록 지원하는 파이썬의 라이브러리이다. NumPy는 데이터 구조 외에도 수치 계산을 위해 효율적으로 구현된 기능을 제공한다.

 

2. Numpy 특징

  • 일반 List에 비해 빠르고, 메모리를 효율적으로 사용한다.
  • 반복문 없이 데이터 배열에 대한 처리를 지원하여 빠르고 편리하다.
  • C, C++, 포트란 등의 언어와 통합이 가능하다.
  • 선형대수와 관련된 다양한 기능을 제공한다.

3. Numpy Array

  • numpy는 np.array 함수를 활용하여 배열을 생성합니다.
  • numpy는 하나의 데이터 타입만 정의가 가능하며 배열에 넣을 수 있습니다.
  • List와 가장 큰 차이점은 다이나믹 타이핑을 지원하지 않습니다.
  • C의 Array를 사용하여 배열을 생성하여 속도가 빠릅니다.

 

예제1) 1차원 배열의 경우

import numpy
array = numpy.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
array #출력: array([1, 2, 3, 4, 5, 6, 7, 8, 9])
array.shape #출력: (9,)
type(array) #출력: numpy.ndarray

예제2) 2차원 배열의 경우

array = numpy.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
array #출력: array([[ 1,  2,  3,  4],
      #             [ 5,  6,  7,  8],
      #             [ 9, 10, 11, 12]])
array.shape #출력: (3, 4)

4. Numpy Array 생성 방법

◎ 리스트

numpy 모듈의 array 메소드에 파라미터로 리스트를 넘겨주면 numpy array가 리턴된다.

import numpy
array = numpy.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
print(array)

#출력: [1 2 3 4 5 6 7 8 9]

◎ 동일 값으로 생성

full 메소드를 사용하면, 모든 값이 같은 numpy array를 생성할 수 있다.

import numpy
array = numpy.full(5, 9) 
print(array)

#출력: [9 9 9 9 9]

모든 값이 0인 array 생성

import numpy
array = numpy.zeros(6, dtype=int) 
print(array)

#출력: [0 0 0 0 0 0]

모든 값이 1인 numpy array 생성

import numpy
array = numpy.ones(6, dtype=int) 
print(array)

#출력: [1 1 1 1 1 1]

연속된 값들이 담긴 numpy array 생성

arange 함수를 사용하면 연속된 값들이 담겨 있는 numpy array를 생성할 수 있다.

 

⊙ 파라미터 1개

import numpy
array1 = numpy.arange(6)
print(array1)

#출력: [0 1 2 3 4 5]

파라미터 2개

arange(n, m)을 하면 n부터 m-1까지의 값들이 담긴 numpy array가 리턴된다.

import numpy
array1 = numpy.arange(2, 7)
print(array1)

#출력: [2 3 4 5 6]

파라미터 3개

arange(n, m, s)를 하면 n부터 m-1까지의 값들 중 간격이 s인 값들이 담긴 numpy array가 리턴된다.

import numpy
array1 = numpy.arange(3, 17, 3) 
print(array1)  

#출력: [3 6 9 12 15]

 

 

 

'Study > Data Science' 카테고리의 다른 글

Data Science 시작하기  (0) 2020.05.25

데이터 과학(Data science)이란, 위키피디아에 따르면 데이터 마이닝(Data Mining)과 유사하게 정형, 비정형 형태를 포함한 다양한 데이터로부터 지식과 인사이트를 추출하는데 과학적 방법론, 프로세스, 알고리즘, 시스템을 동원하는 융합분야라고 한다. 즉, 데이터와 관련된 모든 일을 데이터 과학이라고 한다.

 

해당 분야를 전문으로 하는 사람을 데이터 사이언티스트(Data Scientist)라고 부른다. 이들은 가치를 더할 수 있는 일을 찾고, 데이터를 이용해서 문제를 해결하는 역할을 한다.

 

데이터 사이언스의 순서는 대략적으로 이렇다.

  1. 문제 정의하기
  2. 데이터 모으기
  3. 데이터 다듬기
  4. 데이터 분석하기
  5. 데이터 시각화 및 커뮤니케이션

문제 정의하기

해결하고자 하는 게 무엇인지, 언제까지 어떤 결과물을 얻을 것인지, 어떤 방식으로 데이터를 활용할 것인지 등을 설정한다.

  • 목표 설정
  • 기간 설정
  • 평가 방법 설정
  • 필요한 데이터 설정

데이터 모으기

이미 모아 놓은 데이터를 그대로 사용할 수도 있고, 공공 기관 등에서 배포한 자료를 찾아 볼 수도 있고, 웹사이트에서 직접 데이터를 수집할 수도 있다.

  • 웹 크롤링
  • 자료 모으기
  • 파일 읽고 쓰기

데이터 다듬기

우리가 수집한 데이터에는 수많은 문제점들이 있다. 이런 문제점들로 인해 분석 자체가 불가능할 수도 있고, 혹은 분석을 하더라도 잘못된 결론으로 이어질 수 있다. 따라서 데이터를 올바르게 다듬어 활용 가능한 데이터로 만드는 것이다.

  • 데이터 관찰하기
  • 데이터 오류 제거
  • 데이터 정리하기

데이터 분석하기

통계를 이용해 수치적으로도 할 수도 있고, 수십 가지의 그래프를 그려보면서 탐색할 수도 있다. 처음 설계했던 방식대로 데이터를 활용해서 원하는 결과를 도출해 내야 한다.

  • 데이터 파악하기
  • 데이터 변형하기
  • 통계 분석
  • 인사이트 발견
  • 의미 도출

커뮤니케이션

어떤 문제를 해결하려 했는지, 어떻게 데이터를 모았는지, 어떤 방식으로 어떤 인사이트를 얻었는지 등을 다른 사람들에게 전달해야 한다. 적절한 시각화를 통해 소통을 원활히 할 수 있다.

  • 다양한 시각화
  • 커뮤니케이션
  • 리포트

출처: 코드잇(Codeit) https://www.codeit.kr/dashboard

'Study > Data Science' 카테고리의 다른 글

Data Science(Numpy 사용하기)  (0) 2020.05.25

+ Recent posts