
📌 배열 생성 관련 함수
np.array() | 리스트/튜플을 NumPy 배열로 변환 |
np.arange(start, stop, step) | 지정 범위의 정수 배열 생성 |
np.linspace(start, stop, num) | 시작~끝 사이를 균등 간격으로 나눈 값 생성 |
np.repeat(array, repeats, axis=None) | 기존 배열의 각 원소를 반복해서 확장 |
np.tile(vector, reps) | 벡터 전체 반복 |
np.zeros(shape) | 0으로 채워진 배열 생성 |
np.ones(shape) | 1로 채워진 배열 생성 |
np.eye(N) | 단위행렬(identity matrix) 생성 |
np.empty(shape) | 초기화되지 않은 배열 생성 (빠르지만 값은 쓰레기값) |
np.full(shape, value) | 지정된 값으로 채운 배열 생성 |
1. np.array(): 리스트/튜플을 NumPy 배열로 변환
1차원 배열: [1 2 3 4]
2차원 배열:
[[1 2]
[3 4]
[5 6]]
2. np.arange(start, stop, step): 지정 범위의 정수 배열 생성
1부터 10까지의 a: [ 1 2 3 4 5 6 7 8 9 10]
1부터 10까지 간격 2 씩의 b: [1 3 5 7 9]
3. np.linspace(start, stop, num): 시작~끝 사이를 균등 간격으로 나눈 값 생성
endpoint 옵션 - np.linspace(start, stop, num, endpoint = False, True) (default True)
마지막 값을 포함 시키질지 말지 여부
a
[ 0. 5. 10.]
endpoint false의 b
[0. 3.33333333 6.66666667]
4. np.repeat(array, repeats, axis=None): 기존 배열의 각 원소를 반복해서 확장
np.repeat(8, 4): [8 8 8 8]
np.repeat(a, 2): [8 8 8 8 8 8 8 8]
벡터 전체를 2번 반복: [1 2 4 1 2 4]
6. np.zeros(shape) : 0으로 채워진 배열 생성
7. np.ones(shape): 1로 채워진 배열 생성
np.zeros([2,3]):
[[0. 0. 0.]
[0. 0. 0.]]
np.ones(10):
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
8. np.eye(N): 단위행렬(identity matrix) 생성
array([[1., 0., 0.],
[0., 1., 0.],
[0., 0., 1.]])
9. np.empty(shape): 초기화되지 않은 배열 생성 (빠르지만 값은 쓰레기값)
array([[0., 0., 0.],
[0., 0., 0.]])
10. np.full(shape, value): 지정된 값으로 채운 배열 생성
array([[7, 7, 7],
[7, 7, 7]])
📌 배열 속성
1. arr.shape 배열의 차원 (행, 열)
import numpy as np
a = np.arange(1, 5).reshape(2, 2)
print("np.arange(1, 5).reshape(2, 2): \n", a)
np.arange(1, 5).reshape(2, 2):
[[1 2]
[3 4]]
2. arr.ndim 차원의 수
np.arange(1, 5).reshape(2, 2) 의 차원수: 2
3. arr.size: 전체 원소의 수
np.arange(1, 5).reshape(2, 2) 의 원소: 4
dtype('int64')
📌 배열 연산
np.add(a, b) | 덧셈 (a + b) |
np.subtract(a, b) | 뺄셈 (a - b) |
np.multiply(a, b) | 곱셈 (a * b) |
np.divide(a, b) | 나눗셈 (a / b) |
np.dot(a, b) | 행렬 곱 |
np.sum(a) | 총합 |
np.mean(a) | 평균 |
np.std(a) | 표준편차 |
np.max(a) / np.min(a) | 최대/최소값 |
np.argmax(a) / np.argmin(a) | 최대/최소값의 인덱스 |
np.add(a,b)
[[ 6 8]
[10 12]]
np.subtract(a,b)
[[-4 -4]
[-4 -4]]
np.multiply(a, b)
[[ 5 12]
[21 32]]
np.divide(a, b)
[[0.2 0.33333333]
[0.42857143 0.5 ]]
np.dot(a, b)
[[19 22]
[43 50]]
np.sum(a)
10
np.mean(a)
2.5
np.std(a)
1.118033988749895
np.max(a)
4
np.min(a)
1
np.argmax(a)
3
np.argmin(a)
0
📌 배열 인덱싱 및 변경
arr.reshape(new_shape) | 배열 모양 변경 |
arr.flatten() | 1차원 배열로 변환 |
arr.transpose() | 전치(transpose) |
np.concatenate((a, b), axis=0) | 배열 연결 |
np.split(arr, indices_or_sections) | 배열 분할 |
- arr.reshape(new_shape) 배열 모양 변경
import numpy as np
a = np.repeat(10, 10)
print("a = np.repeat(10, 10)")
print(a)
print()
print("a.reshape(2,5)")
print(a.reshape(2,5))
a = np.repeat(10, 10)
[10 10 10 10 10 10 10 10 10 10]
a.reshape(2,5)
[[10 10 10 10 10]
[10 10 10 10 10]]
2. arr.flatten() 1차원 배열로 변환
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
print("a = np.array([[1,2,3],[4,5,6]])")
print(a)
print()
print("a.flatten()")
print(a.flatten())
a = np.array([[1,2,3],[4,5,6]])
[[1 2 3]
[4 5 6]]
a.flatten()
[1 2 3 4 5 6]
3. arr.transpose() 전치(transpose)
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
print("a = np.array([[1,2,3],[4,5,6]])")
print(a)
print()
print("a.transpose()")
print(a.transpose())
a = np.array([[1,2,3],[4,5,6]])
[[1 2 3]
[4 5 6]]
a.transpose()
[[1 4]
[2 5]
[3 6]]
4. np.concatenate((a, b), axis=0) 배열 연결
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
b = np.array([[7,8,9],[10,11,12]])
print("a = np.array([[1,2,3],[4,5,6]])")
print(a)
print("b = np.array([[7,8,9],[10,11,12]])")
print(b)
print()
print("np.concatenate((a, b), axis=0)")
print(np.concatenate((a, b), axis=0))
a = np.array([[1,2,3],[4,5,6]])
[[1 2 3]
[4 5 6]]
b = np.array([[7,8,9],[10,11,12]])
[[ 7 8 9]
[10 11 12]]
np.concatenate((a, b), axis=0)
[[ 1 2 3]
[ 4 5 6]
[ 7 8 9]
[10 11 12]]
5. np.split(arr, indices_or_sections) 배열 분할
a = np.array([[1,2,3],[4,5,6]])
[[1 2 3]
[4 5 6]]
np.`split`(a, 2, axis=0)
[array([[1, 2, 3]]), array([[4, 5, 6]])]
📌 논리 및 조건 처리
np.where(condition, x, y) | 조건이 참이면 x, 아니면 y |
np.any(condition) | 조건 중 하나라도 참이면 True |
np.all(condition) | 모든 조건이 참이면 True |
np.isnan(a) | NaN인지 확인 |
[0 0 0 1 1]
True
3. np.all(condition) 모든 조건이 참이면 True
False
4. np.isnan(a) NaN인지 확인
[False False False False False]
'자격증 > 빅데이터분석기사' 카테고리의 다른 글
빅데이터분석기사 실기 2유형 템플릿 (회귀/분류) (0) | 2025.05.26 |
---|---|
[Python] Pandas 메서드 총 정리 (0) | 2025.05.17 |
빅데이터분석기사 3주 독학 필기 합격 리뷰 (0) | 2025.04.20 |
[P04CH01S01-S02] 분석모형 평가 및 개선 (0) | 2025.03.19 |
[P04CH01S02] 분석결과 해석 (0) | 2025.03.19 |