Knowledge Map
numpy - 1 본문
출처 : http://pinkwink.kr/715
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | # coding: utf-8 import numpy as np print("\n◇ 배열내의 모든 값들이 1인 배열은 ones를 사용") print np.ones((4,4),dtype=int) print("\n◇ 배열내의 모든 값들이 0인 배열은 zeros를 사용") a1 = np.zeros((5,2), dtype=int) print a1 print("\n◇ 단위배열은 eye를 사용") b = np.eye(4, dtype=int) print b print("\n◇ 임의의 배열을 만들때에는 array를 사용") stringArray = np.array([[1,2,3],['se','ew','zx'],['a','b','c']],dtype=np.string_) print stringArray print("\n◇ 배열크기를 알고 싶을땐 shape, \n type을 지정, 알고 싶을때에는 dtype, \n type을 변경하는 것은 astype\n") c = b.astype(float) print 'C의 배열 크기는',c.shape,'\n' print '--float로 변경--\n',c,'\n' print '--int로 변경--\n',c.astype(int),'\n' print '--각 요소에 각각 1 을 더하고 다시 각 요소들을 제곱 했다.(행렬곱이 아니다.)--' c1=(c+1)**2 print c1 print '배열간 연산도 가능, 하지만 이때의 * 곱은 각 배열 요소간의 곱일뿐이다. 행렬 곱이 아니다.' print c*c1 print '\n행렬곱은 dot() 을 이용해야 한다. 하지만 배열과 행렬은 각각 이것이 다르다.' print c.dot(c1) c2 = c.dot(c1).dot(c1) print c2 print '\n숫자들을 이용해서 원하는 행, 값을 출력할수 있다.' print '2번째 행 =>',c2[1] print stringArray print '\n열을 나오게 하는 방법도 있지만 \n:를 이용한 범위로 하면 세로로 나오고\n아니면 그 열이 가로로 나온다.' print stringArray[:3,1:2] print '' print stringArray[0] print '' print stringArray[1][2] print '' print stringArray[2,2] print '' print stringArray[:3] print '' print stringArray[1:,1:] print '\n◇ 등간격(동일한 간격)의 숫자 배열을 지정할수 있는 arange()\n' data2 = np.arange(10) print data2 print data2[1:3] print data2[1:] data2_sub = data2[2:6] print data2_sub print '\n파이썬내의 모든 값들은 객체이다. \n따라서 일부 값을 다른 변수와 연결시켜 놓아도 그 값을 변경하면\n그 주소 값을 가지고 있는 모든 값이 변할수 있다.\n' data2_sub[0:3] = 99 print 'data2_sub',data2_sub print 'data2',data2 | cs |
출력값
◇ 배열내의 모든 값들이 1인 배열은 ones를 사용 [[1 1 1 1] [1 1 1 1] [1 1 1 1] [1 1 1 1]] ◇ 배열내의 모든 값들이 0인 배열은 zeros를 사용 [[0 0] [0 0] [0 0] [0 0] [0 0]] ◇ 단위배열은 eye를 사용 [[1 0 0 0] [0 1 0 0] [0 0 1 0] [0 0 0 1]] ◇ 임의의 배열을 만들때에는 array를 사용 [['1' '2' '3'] ['se' 'ew' 'zx'] ['a' 'b' 'c']] ◇ 배열크기를 알고 싶을땐 shape, type을 지정, 알고 싶을때에는 dtype, type을 변경하는 것은 astype C의 배열 크기는 (4, 4) --float로 변경-- [[ 1. 0. 0. 0.] [ 0. 1. 0. 0.] [ 0. 0. 1. 0.] [ 0. 0. 0. 1.]] --int로 변경-- [[1 0 0 0] [0 1 0 0] [0 0 1 0] [0 0 0 1]] --각 요소에 각각 1 을 더하고 다시 각 요소들을 제곱 했다.(행렬곱이 아니다.)-- [[ 4. 1. 1. 1.] [ 1. 4. 1. 1.] [ 1. 1. 4. 1.] [ 1. 1. 1. 4.]] 배열간 연산도 가능, 하지만 이때의 * 곱은 각 배열 요소간의 곱일뿐이다. 행렬 곱이 아니다. [[ 4. 0. 0. 0.] [ 0. 4. 0. 0.] [ 0. 0. 4. 0.] [ 0. 0. 0. 4.]] 행렬곱은 dot() 을 이용해야 한다. 하지만 배열과 행렬은 각각 이것이 다르다. [[ 4. 1. 1. 1.] [ 1. 4. 1. 1.] [ 1. 1. 4. 1.] [ 1. 1. 1. 4.]] [[ 19. 10. 10. 10.] [ 10. 19. 10. 10.] [ 10. 10. 19. 10.] [ 10. 10. 10. 19.]] 숫자들을 이용해서 원하는 행, 값을 출력할수 있다. 2번째 행 => [ 10. 19. 10. 10.] [['1' '2' '3'] ['se' 'ew' 'zx'] ['a' 'b' 'c']] 열을 나오게 하는 방법도 있지만 :를 이용한 범위로 하면 세로로 나오고 아니면 그 열이 가로로 나온다. [['2'] ['ew'] ['b']] ['1' '2' '3'] zx c [['1' '2' '3'] ['se' 'ew' 'zx'] ['a' 'b' 'c']] [['ew' 'zx'] ['b' 'c']] ◇ 등간격(동일한 간격)의 숫자 배열을 지정할수 있는 arange() [0 1 2 3 4 5 6 7 8 9] [1 2] [1 2 3 4 5 6 7 8 9] [2 3 4 5] 파이썬내의 모든 값들은 객체이다. 따라서 일부 값을 다른 변수와 연결시켜 놓아도 그 값을 변경하면 그 주소 값을 가지고 있는 모든 값이 변할수 있다. data2_sub [99 99 99 5] data2 [ 0 1 99 99 99 5 6 7 8 9] Process finished with exit code 0 | cs |
'PYTHON' 카테고리의 다른 글
파이썬 - 트위터 연계 1 (0) | 2016.05.13 |
---|---|
파이썬 으로 doc 파일 읽기 (0) | 2016.05.11 |
IPython 으로 간단한 실습 (0) | 2016.05.09 |
IPython notebook 단축키 모음 (0) | 2016.05.09 |
엑셀 라이브러리 사용하기 (0) | 2016.05.09 |
Comments