일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 파이썬 #python #함수 #function
- aws
- 파이썬 #python #file #i/o #input #output
- 민감 정보 관리
- 파이썬 #python #Comprehension
- 파이썬기본문법 #파이썬 #python
- 배포
- 파이썬 #python #docstring
- spring boot
- Git
- 파이썬 #python #filter #map #reduce
- 파이썬 #python #class #클래스 #상속
- 파이썬 #python #예외처리 #exception
- 연산자메서드
- EC2
- 프로그래머스
- 파이썬 #python #모듈 #module #import #random #time #calendar #sys
- PostgreSQL
- 파이썬 #python #os #os.path #glob
- jsonb
- aw3
- 파이썬 #python #전역변수 #지역변수 #eval
- 사용자정의예외
- 약수 수하기
- redis
- 파이썬 #python #enumerate
- 파이썬 #python #lambda #람다
- docker
- 파이썬 #python #지역함수
- 파이썬 #python #가변매개변수 #키워드가변매개변수 #args #kwargs
- Today
- Total
목록Python/Numpy (5)
Yeonnnnny

■ np.reshape() / ndarray.reshape() - 원본 변경하지 않고 배열을 새로운 shape으로 수정함 - 원본 배열의 요소의 개수가 변경할 모양의 매열 요소의 개수와 가르면 에러 발생 import numpy as np a = np.arange(6) print(a) b = a.reshape(3,2) print(b) print(a) # b의 생성에 의해 a가 변하지 않음 print('-'*30) c=np.reshape(a,(1,6)) print(c) d = np.reshape(a,(-1,2)) # 열의 크기만 2로 맞추고 행의 크기는 전체 요소 크기에 맞춰 알아서 지정함(-1) print(d) e = np.arange(1,11).reshape(2,5) print(e) print() f =..

□ np.linspace() : start부터 stop의 범위에서 num개를 균일한 간격으로 데이터를 생성해 배열을 만듦 import numpy as np print(np.linspace(0,2,9)) # 0이상 2이하의 버위에서 9만큼 등분하여 요소들을 설정 ※ matplotlib를 사용해 그래프를 그릴 때 np.linspace() 함수로 값을 줄 수 있음 x = np.linspace(0,np.pi*2, 100) y= np.sin(x) import matplotlib.pyplot as plt plt.plot(x,y) plt.show() □ np.identity() - 지정한 크기의 정방 단위 행렬을 생성 - 정방단위 행렬은 주대각 선의 원소가 모드 1이며 나머지 원소는 모두 0인 정사각형 행렬을 뜻함 ..

■ 배열 생성 - 2 □ np.zeros() - 모든 요소가 0으로 이루어진 지정한 크기의 새로운 배열을 생성 - 2차원 이상의 배열을 만드는 경우에 함수의 매개 값으로 튜플 형태를 입력해야 함 a=np.zeros(4, dtype=int) # dtype = np.int32 (default : float) print(a) # [0 0 0 0] print() b=np.zeros((3,3)) print(b) # [[0. 0. 0.] # [0. 0. 0.] # [0. 0. 0.]] print() #np.zeros_like(ndarray) : 지정된 배열과 같은 형태의 새로운 배열 생성 □ np.zeros_like(ndarray) - 매개변수로 입력된 다차원 배열과 같은 형태이며, 0의 값으로 채워진 새로운 배열..

■ Numpy 특징 1. python의 list가 느린 이유 - 파이썬 리스트는 포인터의 배열임 - 따라서 각각의 객체가 메모리 여기저기에 흩어져 있음 - 그러므로 캐시 활용이 어려움 2. Numpy의 ndarray가 빠른 이유 - 타입을 명시하여 원소의 배열로 데이터 유지 - 다차원 데이터도 연속된 메모리 공간에 할당됨 ■ 배열 생성 - 1 □ array()를 이용한 생성 - python의list나 tuple을 이용해서 numpy의 ndarray를 생성함 - 다차원 배열의 모든 원소는 동일한 데이터 타입을 가져야 함 ○ 정수형 - int64,int32, int16, int8, uint64형이 있음 - int 64 : -2^63 ~ 2^63-1 까지의 정수 표현 - uint64 : 0~2^64-1 까지의..

■ '축' numpy에서는 다차원 배열의 계산을 간편하게 한다는 큰 장점이 있다. 그런데 행렬을 연산할 때 축의 개념이 본래 알던 축의 개념과는 조금 달라 혼란이 생길 수 있다. 기본적인 행렬의 축의 개념은 아래와 같다. 행은 행렬에서 → 방향이므로 행의 축은 0이다. 열은 ↓ 방향이므로 열의 축은 1이다. 하지만, 다차원 행열 계산에 적합한 numpy에서는 모듈 내 함수에서 축을 가리키는 axis라는 옵션이 존재한다. 그런데 axis는 2차원 행렬 연산( 결합이나 변형) 시에, 행 별 계산을 하고자 할 때는 axis=1, 열별 계산을 할 때는 axis=0이라는 옵션을 걸어줘야 한다. 3차원 행렬에서는 깊이의 계산 시에는 axis=0, 열별 계산 시에는 axis=1, 행별 계산 시에는 axis=2라는 옵..