9.Python
소개
공짜에 여러가지 package 역시
쉽게 설치 가능
10.사용 package
Numpy-다차원 배열에 좋음
Scipy,matplot,pandas,sklearn등 package 사용예정
11.python
설치 & jupyter 설치
Python 3버전 이상으로 설치, 상단에서
진행함
12.python
기초
Mutable(변경 가능) VS
immutable(변경불가)
-list 와 tuple 의
차이와 같음, 대용량 data의 경우 tuple로 설정해야 메모리의 활용면에서 좋다
-index VS attribute와도 비슷
Tuples
-immutable
-parenthesis(괄호)는
꼭 필요하다
-zero base index, 고정되어 있기 때문에 요소를 추가하거나
수정이 불가능하다
List
-mutable, 생성시 []로
생성
-생성과 추가시 단일행으로 생성해야 메모리에 부담이 적음
--list를 생성후 반복문을 사용하는게 아니라 생성과동시에 []안에 반복문을 사용해 생성해준다
Numpy array
manipulations
-행렬 속석,인덱스,슬라이싱,재배열기능
Numpy
exercise
-1. 0으로 채워진 10칸
배열 생성 -- Create len(10) integer array filled with zeros
--import numpy as np
--num1=np.zeros(10)
--num1
-----array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])
**zeros() 함수로 괄호안에 배열의 크기를 지정하면됨, 2x2 배열을 0으로 채우면
2,2로 입력
-2. 1로 채워진3x5 부동소수점
행렬 생성 -- Create 3x5 floating point array filled with ones
--import numpy as np
--num2=.np.ones( (3,5) )
--num2
-----array([[1., 1., 1., 1., 1.],[1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.]])
--num2.dytpe
-----dtype('float64')
**ones()
함수에 크기를 지정하면 해당 크기만큼 1로 채워진 배열이 만들어진다
-3. 3.14로 채워진 3x5 행렬
생성 -- Create 3x5 array filled with 3.14
--import numpy as np
--num3=np.full( (3,5),3.14 )
--num3
-----array([[3.14, 3.14, 3.14, 3.14, 3.14],
[3.14, 3.14, 3.14, 3.14, 3.14],
[3.14, 3.14, 3.14, 3.14, 3.14]])
-----array([ 0. , 0.40816327, 0.81632653, 1.2244898 , 1.63265306, 2.04081633, 2.44897959, 2.85714286, 3.26530612, 3.67346939,
4.08163265, 4.48979592, 4.89795918, 5.30612245, 5.71428571,
6.12244898, 6.53061224, 6.93877551, 7.34693878, 7.75510204,
8.16326531, 8.57142857, 8.97959184, 9.3877551 , 9.79591837,
10.20408163, 10.6122449 , 11.02040816, 11.42857143, 11.83673469,
12.24489796, 12.65306122, 13.06122449, 13.46938776, 13.87755102,
14.28571429, 14.69387755, 15.10204082, 15.51020408, 15.91836735,
16.32653061, 16.73469388, 17.14285714, 17.55102041, 17.95918367,
18.36734694, 18.7755102 , 19.18367347, 19.59183673, 20. ])
-----array([[0.1149239 , 0.64128163, 0.03596898], [0.63310452, 0.48144656, 0.46173581],
[0.56705924, 0.34693734, 0.60664531]])
-----array([[-0.01807637, 0.73399572, -0.27706428], [ 0.82435219, -0.05362918,-0.32663484],
[ 1.22582156, 1.40465787, 1.67893858]])
-----array([[4, 9, 7], [0, 8, 8],[8, 7, 2]])
-----array([[1., 0., 0.], [0., 1., 0.],[0., 0., 1.]])
-----array([[1, 0, 0], [0, 1, 0],[0, 0, 1]])
[3.14, 3.14, 3.14, 3.14, 3.14]])
**full 함수를
사용해서 크기지정 및 채울 숫자를 지정한다
-4. 0부터 20까지 2씩 증가하는 수로 이루어진 1차원 행렬 생성하기 -- Create an array filled with a linear space starting at 0, ending
at 20, stepping by 2
--num4=np.arange(0,20,2)
--num4
-----array([ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18])
**arrange parameter로 시작,끝,공차를 입력
--num4_1=np.linspace(0,20,50)
--num4_1
-----array([ 0. , 0.40816327, 0.81632653, 1.2244898 , 1.63265306, 2.04081633, 2.44897959, 2.85714286, 3.26530612, 3.67346939,
4.08163265, 4.48979592, 4.89795918, 5.30612245, 5.71428571,
6.12244898, 6.53061224, 6.93877551, 7.34693878, 7.75510204,
8.16326531, 8.57142857, 8.97959184, 9.3877551 , 9.79591837,
10.20408163, 10.6122449 , 11.02040816, 11.42857143, 11.83673469,
12.24489796, 12.65306122, 13.06122449, 13.46938776, 13.87755102,
14.28571429, 14.69387755, 15.10204082, 15.51020408, 15.91836735,
16.32653061, 16.73469388, 17.14285714, 17.55102041, 17.95918367,
18.36734694, 18.7755102 , 19.18367347, 19.59183673, 20. ])
-5. 0과 1 사이의 간격으로 5개의 값이 있는 배열을 만들기
-6. 0,1로 균일하게 분포된 3x3 배열
만들기
-7. 평균이 0이고 표준편차가 1인 3x3 배열 만들기
--num7=np.random.rand(3,3)
--num7
-----array([[0.1149239 , 0.64128163, 0.03596898], [0.63310452, 0.48144656, 0.46173581],
[0.56705924, 0.34693734, 0.60664531]])
--num7_1=np.random.normal(0,1,(3,3))
--num7_1
-----array([[-0.01807637, 0.73399572, -0.27706428], [ 0.82435219, -0.05362918,-0.32663484],
[ 1.22582156, 1.40465787, 1.67893858]])
-8. [0,10] 사이의 임의의 정수로 구성된 3x3 배열 만들기
--num8=np.random.randint(0,10,size=(3,3))
--num8
-----array([[4, 9, 7], [0, 8, 8],[8, 7, 2]])
**randint
함수로 시작,끝,배열 사이즈를 지정
***rand=0~1사이의
균일 분포 , randn=가우시안 표준 정규분포 randint=지정
숫자 범위 내에서의 랜덤수
-9. 3x3 identity (정방단위)행렬
만들기
--num9=np.identity(3)
--num9
-----array([[1., 0., 0.], [0., 1., 0.],[0., 0., 1.]])
--num9_1=np.eye(3,k=0,dtype=int)
--num9_1
-----array([[1, 0, 0], [0, 1, 0],[0, 0, 1]])
댓글 없음:
댓글 쓰기