일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- JSON
- chaosengineering
- MSA
- Python
- web crowling
- AI Agent
- ci_cd
- AI 에이전트
- API
- AI
- 3티어아키텍처
- 티스토리챌린지
- LangGraph
- LLM
- agentic ai
- java17
- 쳇지피티
- 카나리배포
- 12factorapp
- chatGPT
- temurin
- xmlschema
- 에이전트 ai
- react agent
- 책임분리
- 클라우드네이티브
- 오블완
- 웨크롤링
- 포트바인딩
- 티어구조
Archives
- Today
- Total
Nacho
Chapter 06. Python Numpy 기초 본문
반응형
자 numpy 를 복습해보자.
import numpy as np #묻따 import 갈기기
np_arr = np.array([1,2,3])
np.array([list]) 로 numpy array 를 만들 수 있다.
np.array.ndim()
ndim 속성으로 배열 차원을 확인합니다.
print(arr_1D.ndim) # 1차원 배열 Output 1
print(arr_2D.ndim) # 2차원 배열 Output 2
print(arr_3D.ndim) # 3차원 배열 Output 3
배열의 차수를 확인 할 수 있다.
np.array.shape()
shape 속성으로 배열 형태를 확인합니다.
print(arr_1D.shape) # 1차원 배열 Output (5,)
print(arr_2D.shape) # 2차원 배열 Output (2, 3)
print(arr_3D.shape) # 3차원 배열 Output (2, 3, 3)
결과는 다음과 같은 형태의 튜플로 표시된다.
np.array.dtype()
dtype 속성으로 자료형을 확인합니다.
print(arr_1D.dtype) # 1차원 배열 Output 'int64'
print(arr_2D.dtype) # 2차원 배열 Output 'float64'
print(arr_3D.dtype) # 3차원 배열 Output 'int64'
결과로 자료형을 리턴한다.
np.array.reshape()
배열의 형태를 변환한다. 행 * 열 == 배열크기 인 경우 실행된다.
a = np.array([[11, 12, 13, 14],
[15, 16, 17, 18],
[19, 20, 21, 22]])
print(a.reshape(4, 3))
print(a.reshape(2, 6))
print(a.reshape(-1, 2)) # -1로 한쪽 값을 생략 가능하다.
'''
Output:
[[11 12 13] #a.reshape(4, 3)
[14 15 16]
[17 18 19]
[20 21 22]]
[[11 12 13 14 15 16] #a.reshape(2, 6)
[17 18 19 20 21 22]]
[[11 12] #a.reshape(-1, 2)
[13 14]
[15 16]
[17 18]
[19 20]
[21 22]]
'''
np.array.dtype()
dtype 속성으로 자료형을 확인합니다.
print(arr_1D.dtype) # 1차원 배열 Output 'int64'
print(arr_2D.dtype) # 2차원 배열 Output 'float64'
print(arr_3D.dtype) # 3차원 배열 Output 'int64'
결과로 자료형을 리턴한다.
<U12 와 같은 자료형은 '<':리틀엔드안 'U':유니코드 '12':크기 이다.
리틀엔디안 형식으로 저장된 12크기의 유니코드 타입이라는 뜻이다.
배열 인덱싱
a = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# 첫 번째 행, 두 번째 열 요소 조회
print(a[0, 1]) # 2
# 첫 번째, 두 번째 행 조회
# print(a[[0, 1], :]) # : 생략가능
print(a[[0, 1]])
'''
Output:
[[1 2 3]
[4 5 6]]
'''
# 첫 번째, 두 번째 열 조회
print(a[:, [0, 1]])
'''
Output:
[[1 2]
[4 5]
[7 8]]
'''
배열 슬라이싱
a = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# 첫 번째 ~ 두 번째 행 조회
# print(a[0:2, :])
print(a[0:2])
'''
Output:
[[1 2 3]
[4 5 6]]
'''
# 첫 번째 ~ 세 번째 행, 두 번째 ~ 세 번째 열 조회
print(a[0:3, 1:3])
'''
Output:
[[12 13]
[16 17]
[20 21]]
'''
조건 조회
score= np.array([[78, 91, 84, 89, 93, 65],
[82, 87, 96, 79, 91, 73]])
# 요소 중에서 90 이상인 것만 조회
print(score[score >= 90])
'''
Output:
[91 93 96 91]
'''
# 모든 요소 중에서 90 이상 95 미만인 것만 조회
print(score[(score >= 90) & (score <= 95)])
'''
Output:
[91 93 91]
'''
numpy와 pandas에서는 논리 연산자로 &, | 을 사용한다.
배열 연산
그림으로 대체합니당....
np.array.argmax(), np.array.argmin()
파이썬에서 axis = 0 은 행방향, axis = 1 은 열방향은 규친인건가..?
pandas.DataFrame.drop() 도 같은 방향이다. 그 외, 등 등
np.where()
np.where(조건, 참일 때, 거짓일 때)
# 선언
a = np.array([1,3,2,7])
# 조건
np.where(a > 2, 1, 0)
'''
Output:
[0, 1, 0, 1]
'''
# 선언
a = np.array([1,3,2,7])
# 조건
np.where(a > 2, a, 0)
'''
Output:
[0, 3, 0, 7]
'''
반응형
'Python' 카테고리의 다른 글
Chapter 08. Python Pandas 기초(2) (0) | 2024.02.23 |
---|---|
Chapter 07. Python Pandas 기초(1) (0) | 2024.02.23 |
Chapter 04. Python 프로그래밍 & 라이브러리 (0) | 2024.02.22 |
Chapter 03. Python 프로그래밍 & 라이브러리 (0) | 2024.02.22 |
Chapter 02. Python 프로그래밍 & 라이브러리 (0) | 2024.02.22 |