티스토리 뷰
728x90
반응형

NumPy는 파이썬에서 과학적 계산을 위한 핵심 라이브러리입니다. 주로 다차원 배열 객체와 배열을 효율적으로 처리할 수 있는 다양한 수학 함수들을 제공합니다. 데이터 분석, 머신러닝, 수치 해석 등 여러 분야에서 필수적으로 사용됩니다.
Numpy 공식 문서
NumPy 설치하기
NumPy는 pip를 통해 쉽게 설치할 수 있습니다. 터미널 또는 명령 프롬프트에서 다음 명령어를 입력하세요.
bash
pip install numpy
NumPy 기본 개념
1. 배열 생성하기
NumPy의 기본 데이터 구조는 ndarray (N-dimensional array)입니다. 배열을 생성하는 여러 방법이 있습니다.
python
import numpy as np
# 1차원 배열
array_1d = np.array([1, 2, 3, 4, 5])
print("1차원 배열:", array_1d)
# 2차원 배열
array_2d = np.array([[1, 2, 3], [4, 5, 6]])
print("2차원 배열:\n", array_2d)
# 3차원 배열
array_3d = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
print("3차원 배열:\n", array_3d)
2. 배열 속성
배열의 모양(shape), 크기(size), 데이터 타입(dtype) 등을 확인할 수 있습니다.
python
print("배열 모양:", array_2d.shape) # (2, 3)
print("배열 크기:", array_2d.size) # 6
print("배열 데이터 타입:", array_2d.dtype) # int64
3. 배열 연산
NumPy는 배열 간의 다양한 연산을 지원합니다.
python
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
# 덧셈
print("덧셈:", a + b)
# 뺄셈
print("뺄셈:", a - b)
# 곱셈
print("곱셈:", a * b)
# 나눗셈
print("나눗셈:", a / b)
자주 사용되는 NumPy 함수
1. 배열 생성 함수
- np.zeros(shape): 주어진 형태의 0으로 채워진 배열을 생성합니다.
- np.ones(shape): 주어진 형태의 1로 채워진 배열을 생성합니다.
- np.arange(start, stop, step): 특정 범위의 배열을 생성합니다.
- np.linspace(start, stop, num): 주어진 범위에서 균등 간격의 배열을 생성합니다.
python
# 배열 생성 예제
zeros_array = np.zeros((2, 3))
print("0으로 채워진 배열:\n", zeros_array)
ones_array = np.ones((2, 3))
print("1로 채워진 배열:\n", ones_array)
range_array = np.arange(0, 10, 2)
print("0부터 10까지 2 간격의 배열:", range_array)
linspace_array = np.linspace(0, 1, 5)
print("0부터 1까지 5개의 균등 간격 배열:", linspace_array)
2. 배열 연산 함수
- np.add(), np.subtract(), np.multiply(), np.divide(): 각각 덧셈, 뺄셈, 곱셈, 나눗셈을 수행합니다.
- np.sum(): 배열의 합계를 구합니다.
- np.mean(): 배열의 평균을 구합니다.
- np.std(): 배열의 표준편차를 구합니다.
python
data = np.array([[1, 2, 3], [4, 5, 6]])
# 배열 연산 예제
print("합계:", np.sum(data))
print("평균:", np.mean(data))
print("표준편차:", np.std(data))
3. 배열 인덱싱 및 슬라이싱
NumPy는 배열의 특정 요소에 접근하거나 부분 배열을 추출할 수 있습니다.
python
# 특정 요소 접근
print("첫 번째 요소:", array_1d[0])
print("두 번째 행의 첫 번째 열 요소:", array_2d[1, 0])
# 슬라이싱
print("1차원 배열 슬라이스:", array_1d[1:4]) # [2, 3, 4]
print("2차원 배열 슬라이스:\n", array_2d[:, 1]) # [2, 5]
4. 브로드캐스팅
브로드캐스팅은 서로 다른 크기의 배열 간의 연산을 가능하게 하는 기능입니다.
python
# 배열과 스칼라의 브로드캐스팅
array = np.array([1, 2, 3])
result = array + 5
print("브로드캐스팅 결과:", result) # [6, 7, 8]
5. 행렬 연산
NumPy는 선형 대수 연산을 위한 함수를 제공합니다.
python
# 행렬 곱셈
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
C = np.dot(A, B)
print("행렬 곱셈 결과:\n", C)
# 역행렬
inv_A = np.linalg.inv(A)
print("역행렬:\n", inv_A)
6. 배열 변형
배열의 형태를 변경하거나 차원을 추가 또는 삭제할 수 있습니다.
python
# 배열 변형
reshaped_array = np.reshape(array_2d, (3, 2))
print("변형된 배열:\n", reshaped_array)
# 차원 추가
expanded_array = np.expand_dims(array_1d, axis=0)
print("차원 추가된 배열:\n", expanded_array)
결론
NumPy는 데이터 과학 및 머신러닝을 포함한 다양한 분야에서 필수적인 도구입니다. 위에서 소개한 기본적인 기능들과 자주 사용되는 함수들을 통해 더 복잡한 데이터를 처리하고 분석할 수 있습니다. NumPy를 통해 파이썬의 강력한 과학적 계산 능력을 활용해 보세요!
728x90
반응형
'Python > Python Library' 카테고리의 다른 글
| [Python Robot Framework] 파이썬 로봇 프레임워크 소개 (4) | 2024.09.30 |
|---|---|
| Pandas 라이브러리 소개 및 주요 함수 (3) | 2024.09.26 |
| AWS Lambda를 Visual Studio Code에서 사용하기: Python 코드 실행, 디버깅 및 배포하기 (0) | 2024.08.21 |
| Prettier - Code Formatter 단축키로 바로 적용하는 법 (0) | 2024.08.20 |
| Visual Studio Code에서 GitHub을 쉽게 사용하기 위한 유용한 확장 프로그램 (1) | 2024.08.20 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 티스토리챌린지
- 자동매매로직
- 1164회 로또
- 기술적분석
- 클래스형 뷰
- 장고 orm sql문 비교
- 토치비전
- 케라스
- chat gpt 한국어 가격
- chat gpt 모델 별 가격
- 차트분석
- 인공지능 로또 예측
- chat gpt 모델 api 가격 예측
- 로또 1164회 당첨
- 주린이탈출
- 퀀트투자
- chat gpt api 비용 계산
- Python
- chat gpt 가격 예상
- Numpy
- 로또 ai
- 자동매매
- 주식공부
- 골든크로스
- 재테크
- chat gpt 4o 예산
- 1165회 로또
- 주식투자
- 오블완
- chat gpt 모델별 예산
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
글 보관함
250x250