파이썬 기초 스터디 1주
교재
파이썬이란?
간단하고 배우기 쉬운 프로그래밍 언어. 오픈 소스라 무료로 자유롭게 이용할 수 있다. 파이썬은 과학 분야(기계학습, 데이터 과학 등등)에서 널리 쓰인다. 파이썬에 넘파이와 사이파이같은 수치 계산과 통계 처리를 다루는 라이브러리가 더해져 데이터 과학 분야에서 확고한 위치를 차지한다. 딥러닝 프레임워크 쪽에도 파이썬을 애용해 딥러닝을 할 때 도움이 된다.
파이썬 설치
아나콘다
파이썬의 버전은 2.x, 3.x 두 가지 버전이 공존한다. 파이썬3에서 만든 프로그램이 파이썬2에서 작동불가일 경우가 있음으로 파이썬3을 설치한다. 설치방법은 다양한데 그중 아나콘다는 데이터 분석에 중점을 둔 배포판이고, 넘파이와 matplotlob을 포함해 데이터 분석에 유용한 라이브러리가 포함되어 있어 상당히 유용하다.
파이썬 인터프리터
명령 프롬프트(cmd)에 python이라는 명령어를 실행해 파이썬 인터프리터를 시작할 수 있다. 파이썬 인터프리터로 할 수 있는 것은 산술연산, 특정 데이터의 자료형 확인, 변수 정의, 리스트 정리, 딕셔너리, bool, if문, for문, 함수 등등이 있다.
넘파이
넘파이 가져오기
넘파이는 외부 라이브러리이므로 가져와야 한다.
>>> import numpy as np
넘파이 배열 생성
np.array() 메서드를 이용해 넘파이 배열을 생성한다.
>>> x = np.array([1.0, 2.0, 3.0])
>>> print(x) [1. 2. 3.]
>>> type(x) <class 'numpy.ndarray'>
넘파이의 산술 연산
>>> x = np.array([1.0, 2.0, 3.0])
>>> y = np.array([2.0, 4.0, 6.0])
>>> x + y # 원소별 덧셈
array([ 3., 6., 9.])
>>> x - y array([ -1., -2., -3.]) >>> x * y # 원소별 곱셈
array([ 2., 8., 18.])
>>> x / y array([ 0.5, 0.5, 0.5])
넘파이 산술 연산 시 주의사항은 x와y의 원소 수가 같아야 산술 연산이 가능하다는 점이다.
브로드캐스트
브로드캐스트는 형상이 다른 배열끼리도 계산할 수 있게 하는 기능이다.
>>> A = np.array([[1, 2], [3, 4]])
>>> B = np.array([10])
>>> A * B array([[ 10, 20], [ 30, 40]])
위 코드는 2x2 행렬 A에 스칼라값 10을 곱해 넘파이를 계산한다. 스칼라값 10이 2x2행렬로 확대되어 B = np.array([10, 10], [10, 10])이 된다. 그리하여 A*B의 계산이 가능하다.