일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- Linux
- OpenAI
- chatGPT
- Recipe
- web crowling
- 오블완
- WSL
- LLM
- JSON
- 웨크롤링
- Java
- 티스토리챌린지
- brew
- 포트포워딩
- API
- 웹크롤링
- java17
- 파인튜닝
- Llama
- jdk
- Windows
- temurin
- AI
- Python
- 쳇지피티
- ssh
- PROJECT
- DALL-E
- 레시피
- bs4
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 |