반응형
● Numpy
numpy를 사용하는 이유
: 파이썬 리스트(list)보다 빠름
메모리 사이즈
: 파이썬 리스트보다 적은 메모리 사용
Build-in 함수
: 선형대수, 통계 관련 여러 함수 내장
● ndarray
numpy에 사용되는 다차원 리스트를 표현할 때 사용되는 데이터 타입
연속된 메모리 사용
vs
python list
연속되지 않은 메모리
명시적인 loop 사용
● 예제 1
import numpy as np
import matplotlib.pyplot as plt
x = np.array([1,2,3])
y = np.array([4,5,6])
print(x)
print(y)
plt.plot(x, y)
결과 :
● 예제 2
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
# 그래프 그리기
plt.plot(x, y, color='red', marker='o')
# 그래프 제목 설정
plt.title('Example Plot')
# x축, y축 레이블 설정
plt.xlabel('X values')
plt.ylabel('Y values')
# 그래프 표시
plt.show()
결과 :
넘파이, 넘파이 모듈함수를 사용하는 이유는 결국 데이터를 만들기 위해서다. 게다가 list보다 빠르고 효율적이라서 numpy모듈을 사용한다.
▶ numpy 모듈 함수
1.
x = np.array([1,2,3,4])
print(x)
y = np.array([[2,3,4], [1,2,5]]) #2행 3열의 행렬 생성
print(y)
print(type(y))
2.
np.arange(10) # numpy.arange: 지정된 범위의 값으로 배열을 생성합니다.
3.
np.arange(1, 10)
4.
# 5에서 100까지 간격 5인 ndarray 생성
np.arange(5, 101, 5)
5.
np.ones, np.zeros로 ndarray 생성하기
np.ones((4,5)) # 4행 5열의 모든 요소가 1인 2차원 배열을 생성합니다.
np.ones((2, 3, 4)) # 3행 4열 행렬이 2개 있다. 3차원 배열.
np.zeros((2, 3, 8, 8)) #8행 8열 행렬이 3개있고 2묶음 있다.
np.empty((3,4)) #특정값으로 초기화 되지 않은 배열
np.full((3,4,2), 7) # 4행 2열 x 3개, 7로 채움
6.
np.eye로 ndarray로 생성하기
- 단위 행렬 생성 (대각선에 1이 대입되어 있는 행렬)
np.eye(5) # 2차원 단위행렬 생성. 1행에 5개의 데이터가 들어감.
7.
np.linspace로 ndarray 생성하기
np.linspace(1, 10, 3) # 1부터 10사이 3개 수 생성. 간격이 동일한 조건으로.
np.linspace(1, 10, 4)
np.linspace(1, 10, 5)
8.
reshape 함수 사용
- ndarray의 형태, 차원을 바꾸기 위해 사용
x = np.arange(1, 16)
print(x)
x.shape # 튜플로 표시됨. 1차원 1개로 표시됨
x.reshape(3,5) # 1차원이 3행 5열의 행렬로 바뀜
x.reshape(5,3)
x.reshape(5, 3, 1) # 3행 1열이 5개 있다. 3차원.
# x.reshape(5, 4) # 숫자가 최소한 20개 필요함. 15개밖에 없어서 에러 발생.
반응형
'Python' 카테고리의 다른 글
numpy 행렬, 역행렬, 단위행렬 구하기 예제 (3) | 2023.05.25 |
---|---|
파이썬 random 서브모듈 함수 (0) | 2023.05.23 |
파이썬(Python) 오버라이드(Override), SpecialMethod. (0) | 2023.05.18 |
python 클래스(class), 생성자, 상속 연습문제② (0) | 2023.05.17 |
python 홀,짝 판별하는 함수 (0) | 2023.05.16 |