데이터 분석을 위한 라이브러리.1
모듈
코드의 길아가 길어지는 상황 이때, 모든 함수,변수를 구현하는 것은 불가능
-> 누군가 만들어놓은 함수,변수 등을 활용!
특정 목적을 가진 함수,자료의 모임
모듈사용!
import 키워드를 이용해서 모듈 사용
모듈 속 사용하려는 함수/변수의 사용법 확인
.(dot)을 쓴 후에 모듈 속 함수/변수 사용 a모듈.b함수
import random
print(random.randrange(0,2))
원하는 내용이 담긴 모듈 제작 가능 .py로 만들 수 있다.
1.py파일을 생성 후, 함수와 변수를 만든다.
cal.py
def plus(a,b):
c = a + b
return c
-
다른 파일에서 만들어 둔 py파일을 불러온다
-
불러온 모듈 속 함수,변수를 활용하기
import cal
print(cal.plus(3,4)) # 7
패키지
모듈을 폴더(Directory)로 구분하여 관리하는 것
ex.
1. import 활용
import user.cal
print (cal.plus(3,4))
- from-import -> from a import b
from user.cal import plus
print(plus(3,4)) # -> cal.plus()라고 안해도 됨!
quiz -> url가져오기 (필수)
Numpy
Numerical(수치적) Python
대규모 다차원 배열을 다룰 수 있게 도와주는 라이브러리
대표적 라이브러리
1.pandas
2.numpy
3.matplotlib
Why use Numpy?
데이터의 대부분이 숫자 배열로 되어 있기 때문!
반복문 없이 배열 처리 가능
파이썬 리스트에 비해, 빠른 연산을 지원하고 메모리를 효율적으로 사용함
numpy 배열 생성 및 출력 형태 확인
ndarray = n차원의 배열(n-dimensional array)
import numpy as np
np_arr = np.array(range(5))
print(np_arr) # -> [0 1 2 3 4] -> 공백으로 구분 **리스트는 , 으로구분됨**
print(type(np_arr)) # -> <class 'numpy.ndaray'>
배열의 기초
파이썬 리스트와 달리 같은 데이터 타입만 저장 가능!
d type
arr = np.array([0,1,2,3,4],dtype=float)
print(arr) # ->[0.1.2.3.4.]
print(arr.dtype) # -> 'float64'
print(arr,astype(int)) # -> [0 1 2 3 4]
배열의 속성
ndarray의 차원 관련 속성 : ndim & shape (n + dimension)
#1차원 배열
list = [0,1,2,3]
arr = np.array(list)
print(arr.ndim) # -> 1
print(arr.shape) # -> (4,)
#2차원 배열
list = [[0,1,2],[3,4,5]]
arr = np.array(list)
print(arr.ndim) # -> 2
print(arr.shape) # -> (2,3)
Indexing&Slicing
indexing:인덱스로 값을 찾아냄
ex.
#1차원
x = np.arange(7)
print(x) # -> [0 1 2 3 4 5 6]
print(x[3]) # -> 3
print(x[7]) # -> IndexError: index 7 is out of bounds
x[0] = 10
print(x) # [10,1,2,3,4,5,6]
#2차원
x = np.arange(1,13,1) -> 1부터 12까지 1씩증가
x.shape = 3,4
print(x) # -> [[1 2 3 4]
[5 6 7 8]
[9 10 11 12]]
print(x[2,3]) # -> 12
slicing : 인덱스의 값으로 배열의 일부분을 가져옴
#1차원 배열
x = np.arange(7)
print(x) # -> [0 1 2 3 4 5 6]
print(x[1:4]) # -> [1 2 3]
print(x[1:]) # -> [1 2 3 4 5 6]
print(x[::2]) # -> [0 2 4 6] ::2 마지막 꺼는 간격
#2차원 배열
x = np.arange(1,13,1)
x.shape = 3,4
print(x) # -> [[1 2 3 4]
[5 6 7 8]
[9 10 11 12]]
print(x[1:2,:2:3]) # -> [[5]]
print(x[1:2,:2]) # -> [[5 6]
[9 10]]
Boolean indexing
배열의 각 요소의 선택 여부를 Boolean mask를 이용하여 지정하는 방식
조건에 맞는 데이터를 가져오고 참|거짓 인지를 알려줌
x = np.arange(7)
print(x[x < 3]) # -> [0 1 2]
print(x[x % 2 == 0]) # -> [0 2 4 6]
fancy indexing
배열의 각 요소 선택을 index배열을 전달하여 지정하는 방식(찾고 싶은 자리에 인덱스의 어떤값이 있는지? 를 보여줌)
#1차원 배열
x = np.arange(7)
print(x[[1,3,5]]) # -> [1 3 5]
#2차원 배열
x = np.arange(1,13,1).reshape(3,4)
print(x[[0,2]]) # -> [[1 2 3 4]
[9 10 11 12]]
Author And Source
이 문제에 관하여(데이터 분석을 위한 라이브러리.1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@phphll/데이터-분석을-위한-라이브러리.1저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)