001. array 배열 생성
핵심 개념: 파이썬 리스트를 ndarray로 변환합니다.
파이썬 코드
import numpy as np result = np.array([2, 4, 6]) print(result)
실행 출력
[2 4 6]
출력 해설: 파이썬 리스트를 ndarray로 변환합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 함수·속성·연산 146개 · 독립 실행 파이썬 코드 · 실제 출력 결과 · 개념 해설
NumPy 2.3.5 환경에서 예제를 실행하여 출력 검증 · Python 3 · 설치: pip install numpy
각 항목의 코드는 단독 실행할 수 있습니다. 출력 결과는 실제 NumPy 실행으로 생성했습니다. 난수는 시드를 고정했으며, 일부 부동소수 출력은 환경에 따라 마지막 자릿수가 달라질 수 있습니다. NumPy API 전체를 망라한 목록이 아니라 주요 함수와 속성 중심의 종합 학습 자료입니다.
핵심 개념: 파이썬 리스트를 ndarray로 변환합니다.
import numpy as np result = np.array([2, 4, 6]) print(result)
[2 4 6]
출력 해설: 파이썬 리스트를 ndarray로 변환합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 입력을 배열로 해석하며 가능한 경우 복사를 피합니다.
import numpy as np result = np.asarray((3, 6, 9)) print(result)
[3 6 9]
출력 해설: 입력을 배열로 해석하며 가능한 경우 복사를 피합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 시작값부터 끝값 미만까지 일정 간격으로 생성합니다.
import numpy as np result = np.arange(2, 12, 3) print(result)
[ 2 5 8 11]
출력 해설: 시작값부터 끝값 미만까지 일정 간격으로 생성합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 양 끝을 포함한 등간격 값 5개를 생성합니다.
import numpy as np result = np.linspace(0, 1, 5) print(result)
[0. 0.25 0.5 0.75 1. ]
출력 해설: 양 끝을 포함한 등간격 값 5개를 생성합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 지수 공간에서 일정한 간격의 수를 만듭니다.
import numpy as np result = np.logspace(1, 3, 3) print(result)
[ 10. 100. 1000.]
출력 해설: 지수 공간에서 일정한 간격의 수를 만듭니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 양수 구간을 일정 비율로 나눕니다.
import numpy as np result = np.geomspace(1, 64, 4) print(result)
[ 1. 4. 16. 64.]
출력 해설: 양수 구간을 일정 비율로 나눕니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 0으로 채운 2행 3열 배열입니다.
import numpy as np result = np.zeros((2, 3), dtype=int) print(result)
[[0 0 0] [0 0 0]]
출력 해설: 0으로 채운 2행 3열 배열입니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 1로 채운 배열입니다.
import numpy as np result = np.ones((2, 3), dtype=int) print(result)
[[1 1 1] [1 1 1]]
출력 해설: 1로 채운 배열입니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 지정한 값으로 채운 배열입니다.
import numpy as np result = np.full((2, 2), 7) print(result)
[[7 7] [7 7]]
출력 해설: 지정한 값으로 채운 배열입니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 초기화하지 않은 메모리이므로 값이 일정하지 않습니다.
import numpy as np a = np.empty((2, 2)) result = (a.shape, a.dtype) print(result)
((2, 2), dtype('float64'))출력 해설: 초기화하지 않은 메모리이므로 값이 일정하지 않습니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 주대각선이 1인 정사각 배열입니다.
import numpy as np result = np.eye(3, dtype=int) print(result)
[[1 0 0] [0 1 0] [0 0 1]]
출력 해설: 주대각선이 1인 정사각 배열입니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 단위행렬을 만듭니다.
import numpy as np result = np.identity(3, dtype=int) print(result)
[[1 0 0] [0 1 0] [0 0 1]]
출력 해설: 단위행렬을 만듭니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 벡터를 주대각선에 놓습니다.
import numpy as np result = np.diag([2, 4, 6]) print(result)
[[2 0 0] [0 4 0] [0 0 6]]
출력 해설: 벡터를 주대각선에 놓습니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 주대각선 이하를 1로 채운 배열입니다.
import numpy as np result = np.tri(3, 4, dtype=int) print(result)
[[1 0 0 0] [1 1 0 0] [1 1 1 0]]
출력 해설: 주대각선 이하를 1로 채운 배열입니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 반복 가능한 값으로 배열을 생성합니다.
import numpy as np result = np.fromiter((i*i for i in range(4)), dtype=int) print(result)
[0 1 4 9]
출력 해설: 반복 가능한 값으로 배열을 생성합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 각 원소를 지정 횟수만큼 반복합니다.
import numpy as np result = np.repeat([2, 5], 3) print(result)
[2 2 2 5 5 5]
출력 해설: 각 원소를 지정 횟수만큼 반복합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 배열 패턴을 행과 열 방향으로 반복합니다.
import numpy as np result = np.tile([1, 2], (2, 3)) print(result)
[[1 2 1 2 1 2] [1 2 1 2 1 2]]
출력 해설: 배열 패턴을 행과 열 방향으로 반복합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 격자 좌표용 배열 두 개를 생성합니다.
import numpy as np result = np.meshgrid([1, 2], [10, 20, 30]) print(result)
(array([[1, 2],
[1, 2],
[1, 2]]), array([[10, 10],
[20, 20],
[30, 30]]))출력 해설: 격자 좌표용 배열 두 개를 생성합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 각 차원의 정수 격자 인덱스를 생성합니다.
import numpy as np result = np.indices((2, 3)) print(result)
[[[0 0 0] [1 1 1]] [[0 1 2] [0 1 2]]]
출력 해설: 각 차원의 정수 격자 인덱스를 생성합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 각 차원의 길이를 튜플로 반환합니다.
import numpy as np result = np.array([[1,2,3],[4,5,6]]).shape print(result)
(2, 3)
출력 해설: 각 차원의 길이를 튜플로 반환합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 배열의 차원 수를 반환합니다.
import numpy as np result = np.array([[1,2],[3,4]]).ndim print(result)
2
출력 해설: 배열의 차원 수를 반환합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 전체 원소 수입니다.
import numpy as np result = np.array([[1,2,3],[4,5,6]]).size print(result)
6
출력 해설: 전체 원소 수입니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 원소 자료형을 확인합니다.
import numpy as np result = np.array([1,2,3], dtype=np.float64).dtype print(result)
float64
출력 해설: 원소 자료형을 확인합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 정수형 변환에서 소수 부분을 0 방향으로 버립니다.
import numpy as np result = np.array([1.8, 2.9, -3.2]).astype(int) print(result)
[ 1 2 -3]
출력 해설: 정수형 변환에서 소수 부분을 0 방향으로 버립니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 원소 수를 유지하면서 형태를 바꿉니다.
import numpy as np result = np.arange(12).reshape(3, 4) print(result)
[[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]]
출력 해설: 원소 수를 유지하면서 형태를 바꿉니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 배열을 1차원으로 펼치며 가능하면 뷰를 사용합니다.
import numpy as np result = np.arange(6).reshape(2, 3).ravel() print(result)
[0 1 2 3 4 5]
출력 해설: 배열을 1차원으로 펼치며 가능하면 뷰를 사용합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 복사본으로 1차원 배열을 만듭니다.
import numpy as np result = np.arange(6).reshape(2, 3).flatten() print(result)
[0 1 2 3 4 5]
출력 해설: 복사본으로 1차원 배열을 만듭니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 행과 열 축을 교환합니다.
import numpy as np result = np.array([[1,2,3],[4,5,6]]).transpose() print(result)
[[1 4] [2 5] [3 6]]
출력 해설: 행과 열 축을 교환합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 두 축의 위치를 교환합니다.
import numpy as np result = np.arange(12).reshape(2,2,3).swapaxes(0,2) print(result)
[[[ 0 6] [ 3 9]] [[ 1 7] [ 4 10]] [[ 2 8] [ 5 11]]]
출력 해설: 두 축의 위치를 교환합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 선택한 축을 지정 위치로 옮깁니다.
import numpy as np result = np.moveaxis(np.zeros((2,3,4)), 0, -1).shape print(result)
(3, 4, 2)
출력 해설: 선택한 축을 지정 위치로 옮깁니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 길이 1인 축을 추가합니다.
import numpy as np result = np.expand_dims(np.array([1,2,3]), axis=0) print(result)
[[1 2 3]]
출력 해설: 길이 1인 축을 추가합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 크기가 1인 축을 제거합니다.
import numpy as np result = np.squeeze(np.ones((1,2,1,3))).shape print(result)
(2, 3)
출력 해설: 크기가 1인 축을 제거합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 입력을 적어도 2차원으로 만듭니다.
import numpy as np result = np.atleast_2d([1,2,3]) print(result)
[[1 2 3]]
출력 해설: 입력을 적어도 2차원으로 만듭니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 브로드캐스팅으로 읽기 전용 배열 뷰를 만듭니다.
import numpy as np result = np.broadcast_to([1,2,3], (2,3)) print(result)
[[1 2 3] [1 2 3]]
출력 해설: 브로드캐스팅으로 읽기 전용 배열 뷰를 만듭니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 독립적인 배열 복사본을 만듭니다.
import numpy as np result = np.array([1,2,3]).copy() print(result)
[1 2 3]
출력 해설: 독립적인 배열 복사본을 만듭니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 가능하면 데이터를 공유하는 새 배열 뷰입니다.
import numpy as np result = np.array([1,2,3]).view() print(result)
[1 2 3]
출력 해설: 가능하면 데이터를 공유하는 새 배열 뷰입니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 원소 하나의 바이트 수를 반환합니다.
import numpy as np result = np.array([1,2], dtype=np.int32).itemsize print(result)
4
출력 해설: 원소 하나의 바이트 수를 반환합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 배열 데이터가 차지하는 바이트 수입니다.
import numpy as np result = np.array([1,2,3], dtype=np.int32).nbytes print(result)
12
출력 해설: 배열 데이터가 차지하는 바이트 수입니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 시작 포함, 끝 제외, 간격 2로 선택합니다.
import numpy as np result = np.arange(10)[2:9:2] print(result)
[2 4 6 8]
출력 해설: 시작 포함, 끝 제외, 간격 2로 선택합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 조건이 참인 원소만 선택합니다.
import numpy as np result = np.array([4,9,2,8,5])[np.array([4,9,2,8,5]) > 5] print(result)
[9 8]
출력 해설: 조건이 참인 원소만 선택합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 정수 인덱스 배열 순서대로 선택합니다.
import numpy as np result = np.array([10,20,30,40])[[3,0,2]] print(result)
[40 10 30]
출력 해설: 정수 인덱스 배열 순서대로 선택합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 조건에 따라 원소별 값을 선택합니다.
import numpy as np result = np.where(np.array([1,4,7]) > 3, 100, -1) print(result)
[ -1 100 100]
출력 해설: 조건에 따라 원소별 값을 선택합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 0이 아닌 값의 위치를 반환합니다.
import numpy as np result = np.nonzero(np.array([0,4,0,6])) print(result)
(array([1, 3]),)
출력 해설: 0이 아닌 값의 위치를 반환합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 조건을 만족하는 좌표를 행 단위로 반환합니다.
import numpy as np result = np.argwhere(np.array([[0,2],[3,0]]) > 0) print(result)
[[0 1] [1 0]]
출력 해설: 조건을 만족하는 좌표를 행 단위로 반환합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 지정 인덱스의 원소를 가져옵니다.
import numpy as np result = np.take([10,20,30,40], [3,1]) print(result)
[40 20]
출력 해설: 지정 인덱스의 원소를 가져옵니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 배열의 지정 위치 값을 제자리에서 변경합니다.
import numpy as np result = (lambda a: (np.put(a, [0,2], [9,8]), a)[1])(np.array([1,2,3])) print(result)
[9 2 8]
출력 해설: 배열의 지정 위치 값을 제자리에서 변경합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 최솟값과 최댓값 범위로 제한합니다.
import numpy as np result = np.clip([1,5,9,12], 3, 10) print(result)
[ 3 5 9 10]
출력 해설: 최솟값과 최댓값 범위로 제한합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 기존 축을 따라 배열을 연결합니다.
import numpy as np result = np.concatenate(([1,2], [3,4])) print(result)
[1 2 3 4]
출력 해설: 기존 축을 따라 배열을 연결합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 새 축을 만들어 배열을 쌓습니다.
import numpy as np result = np.stack(([1,2], [3,4]), axis=0) print(result)
[[1 2] [3 4]]
출력 해설: 새 축을 만들어 배열을 쌓습니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 세로 방향으로 쌓습니다.
import numpy as np result = np.vstack(([1,2], [3,4])) print(result)
[[1 2] [3 4]]
출력 해설: 세로 방향으로 쌓습니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 1차원 배열을 가로로 연결합니다.
import numpy as np result = np.hstack(([1,2], [3,4])) print(result)
[1 2 3 4]
출력 해설: 1차원 배열을 가로로 연결합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 1차원 배열을 각각 열로 만듭니다.
import numpy as np result = np.column_stack(([1,2], [3,4])) print(result)
[[1 3] [2 4]]
출력 해설: 1차원 배열을 각각 열로 만듭니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 동일한 크기로 나누며 정확히 나누어떨어져야 합니다.
import numpy as np result = np.split(np.arange(8), 4) print(result)
[array([0, 1]), array([2, 3]), array([4, 5]), array([6, 7])]
출력 해설: 동일한 크기로 나누며 정확히 나누어떨어져야 합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 균등하지 않아도 나눌 수 있습니다.
import numpy as np result = np.array_split(np.arange(7), 3) print(result)
[array([0, 1, 2]), array([3, 4]), array([5, 6])]
출력 해설: 균등하지 않아도 나눌 수 있습니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 열 방향으로 분할합니다.
import numpy as np result = np.hsplit(np.arange(12).reshape(3,4), 2) print(result)
[array([[0, 1],
[4, 5],
[8, 9]]), array([[ 2, 3],
[ 6, 7],
[10, 11]])]출력 해설: 열 방향으로 분할합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 행 방향으로 분할합니다.
import numpy as np result = np.vsplit(np.arange(12).reshape(4,3), 2) print(result)
[array([[0, 1, 2],
[3, 4, 5]]), array([[ 6, 7, 8],
[ 9, 10, 11]])]출력 해설: 행 방향으로 분할합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 지정 위치를 제외한 새 배열을 반환합니다.
import numpy as np result = np.delete([10,20,30,40], 1) print(result)
[10 30 40]
출력 해설: 지정 위치를 제외한 새 배열을 반환합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 지정 위치에 원소를 삽입한 새 배열을 만듭니다.
import numpy as np result = np.insert([10,30], 1, 20) print(result)
[10 20 30]
출력 해설: 지정 위치에 원소를 삽입한 새 배열을 만듭니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 끝에 값을 붙인 새 배열을 반환합니다.
import numpy as np result = np.append([1,2], [3,4]) print(result)
[1 2 3 4]
출력 해설: 끝에 값을 붙인 새 배열을 반환합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 양쪽에 지정 폭만큼 값을 채웁니다.
import numpy as np result = np.pad([1,2,3], (2,1), constant_values=0) print(result)
[0 0 1 2 3 0]
출력 해설: 양쪽에 지정 폭만큼 값을 채웁니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 배열의 대응 원소를 더합니다.
import numpy as np result = np.add([1,2,3], [4,5,6]) print(result)
[5 7 9]
출력 해설: 배열의 대응 원소를 더합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 대응 원소를 뺍니다.
import numpy as np result = np.subtract([10,20], [3,4]) print(result)
[ 7 16]
출력 해설: 대응 원소를 뺍니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 대응 원소를 곱합니다.
import numpy as np result = np.multiply([2,3], [4,5]) print(result)
[ 8 15]
출력 해설: 대응 원소를 곱합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 대응 원소를 실수 나눗셈합니다.
import numpy as np result = np.divide([10,9], [2,4]) print(result)
[5. 2.25]
출력 해설: 대응 원소를 실수 나눗셈합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 몫을 음의 무한대 방향으로 내림합니다.
import numpy as np result = np.floor_divide([7,-7], [3,3]) print(result)
[ 2 -3]
출력 해설: 몫을 음의 무한대 방향으로 내림합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 나머지를 계산합니다.
import numpy as np result = np.mod([7,8,9], 4) print(result)
[3 0 1]
출력 해설: 나머지를 계산합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 원소별 거듭제곱을 계산합니다.
import numpy as np result = np.power([2,3,4], 3) print(result)
[ 8 27 64]
출력 해설: 원소별 거듭제곱을 계산합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 음이 아닌 수의 제곱근을 구합니다.
import numpy as np result = np.sqrt([0,1,4,9]) print(result)
[0. 1. 2. 3.]
출력 해설: 음이 아닌 수의 제곱근을 구합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 원소별 제곱을 계산합니다.
import numpy as np result = np.square([2,-3,4]) print(result)
[ 4 9 16]
출력 해설: 원소별 제곱을 계산합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 절댓값을 구합니다.
import numpy as np result = np.abs([-3,0,4]) print(result)
[3 0 4]
출력 해설: 절댓값을 구합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 부호를 -1, 0, 1로 나타냅니다.
import numpy as np result = np.sign([-5,0,7]) print(result)
[-1 0 1]
출력 해설: 부호를 -1, 0, 1로 나타냅니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 자연상수 e의 거듭제곱을 계산합니다.
import numpy as np result = np.exp([0,1,2]) print(result)
[1. 2.71828183 7.3890561 ]
출력 해설: 자연상수 e의 거듭제곱을 계산합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 자연로그를 구합니다.
import numpy as np result = np.log([1,np.e,np.e**2]) print(result)
[0. 1. 2.]
출력 해설: 자연로그를 구합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 상용로그를 구합니다.
import numpy as np result = np.log10([1,10,1000]) print(result)
[0. 1. 3.]
출력 해설: 상용로그를 구합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 라디안 각도의 사인값입니다.
import numpy as np result = np.sin([0,np.pi/2,np.pi]) print(result)
[0.0000000e+00 1.0000000e+00 1.2246468e-16]
출력 해설: 라디안 각도의 사인값입니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 라디안 각도의 코사인값입니다.
import numpy as np result = np.cos([0,np.pi/2,np.pi]) print(result)
[ 1.000000e+00 6.123234e-17 -1.000000e+00]
출력 해설: 라디안 각도의 코사인값입니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 라디안 각도의 탄젠트값입니다.
import numpy as np result = np.tan([0,np.pi/4]) print(result)
[0. 1.]
출력 해설: 라디안 각도의 탄젠트값입니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 도 단위를 라디안으로 바꿉니다.
import numpy as np result = np.deg2rad([0,90,180]) print(result)
[0. 1.57079633 3.14159265]
출력 해설: 도 단위를 라디안으로 바꿉니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 라디안을 도 단위로 바꿉니다.
import numpy as np result = np.rad2deg([0,np.pi/2,np.pi]) print(result)
[ 0. 90. 180.]
출력 해설: 라디안을 도 단위로 바꿉니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 지정 소수 자리로 반올림합니다(부동소수 오차 주의).
import numpy as np result = np.round([1.234,2.675,-1.236], 2) print(result)
[ 1.23 2.68 -1.24]
출력 해설: 지정 소수 자리로 반올림합니다(부동소수 오차 주의). 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 음의 무한대 방향으로 내림합니다.
import numpy as np result = np.floor([1.2,-1.2,2.9]) print(result)
[ 1. -2. 2.]
출력 해설: 음의 무한대 방향으로 내림합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 양의 무한대 방향으로 올림합니다.
import numpy as np result = np.ceil([1.2,-1.2,2.1]) print(result)
[ 2. -1. 3.]
출력 해설: 양의 무한대 방향으로 올림합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 0 방향으로 소수 부분을 버립니다.
import numpy as np result = np.trunc([1.9,-1.9,2.2]) print(result)
[ 1. -1. 2.]
출력 해설: 0 방향으로 소수 부분을 버립니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 원소별 큰 값을 선택합니다.
import numpy as np result = np.maximum([1,8,3], [4,2,5]) print(result)
[4 8 5]
출력 해설: 원소별 큰 값을 선택합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 원소별 작은 값을 선택합니다.
import numpy as np result = np.minimum([1,8,3], [4,2,5]) print(result)
[1 2 3]
출력 해설: 원소별 작은 값을 선택합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 원소별 논리 AND를 계산합니다.
import numpy as np result = np.logical_and([True,True,False], [True,False,True]) print(result)
[ True False False]
출력 해설: 원소별 논리 AND를 계산합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 원소별 논리 OR를 계산합니다.
import numpy as np result = np.logical_or([True,False,False], [False,False,True]) print(result)
[ True False True]
출력 해설: 원소별 논리 OR를 계산합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 허용 오차 내에서 수치가 가까운지 비교합니다.
import numpy as np result = np.isclose([0.1+0.2,1.0], [0.3,1.01]) print(result)
[ True False]
출력 해설: 허용 오차 내에서 수치가 가까운지 비교합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 배열 전체가 허용 오차 내에서 같은지 판정합니다.
import numpy as np result = np.allclose([0.1+0.2,2.0], [0.3,2.0]) print(result)
True
출력 해설: 배열 전체가 허용 오차 내에서 같은지 판정합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: axis=0은 각 열을 따라 합산합니다.
import numpy as np result = np.sum([[1,2,3],[4,5,6]], axis=0) print(result)
[5 7 9]
출력 해설: axis=0은 각 열을 따라 합산합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 원소의 곱을 구합니다.
import numpy as np result = np.prod([2,3,4]) print(result)
24
출력 해설: 원소의 곱을 구합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 산술평균을 구합니다.
import numpy as np result = np.mean([2,4,6,8]) print(result)
5.0
출력 해설: 산술평균을 구합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 중앙값을 구합니다.
import numpy as np result = np.median([1,3,8,20]) print(result)
5.5
출력 해설: 중앙값을 구합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 기본 ddof=0인 모집단 표준편차입니다.
import numpy as np result = np.std([2,4,6,8]) print(result)
2.23606797749979
출력 해설: 기본 ddof=0인 모집단 표준편차입니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 기본 ddof=0인 모집단 분산입니다.
import numpy as np result = np.var([2,4,6,8]) print(result)
5.0
출력 해설: 기본 ddof=0인 모집단 분산입니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: axis=1은 각 행별 최솟값입니다.
import numpy as np result = np.min([[4,2],[9,1]], axis=1) print(result)
[2 1]
출력 해설: axis=1은 각 행별 최솟값입니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: axis=0은 열별 최댓값입니다.
import numpy as np result = np.max([[4,2],[9,1]], axis=0) print(result)
[9 2]
출력 해설: axis=0은 열별 최댓값입니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 최솟값의 첫 인덱스를 반환합니다.
import numpy as np result = np.argmin([8,3,9,2]) print(result)
3
출력 해설: 최솟값의 첫 인덱스를 반환합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 최댓값의 첫 인덱스를 반환합니다.
import numpy as np result = np.argmax([8,3,9,2]) print(result)
2
출력 해설: 최댓값의 첫 인덱스를 반환합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 앞에서부터 누적 합을 구합니다.
import numpy as np result = np.cumsum([2,3,5,7]) print(result)
[ 2 5 10 17]
출력 해설: 앞에서부터 누적 합을 구합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 앞에서부터 누적 곱을 구합니다.
import numpy as np result = np.cumprod([2,3,4]) print(result)
[ 2 6 24]
출력 해설: 앞에서부터 누적 곱을 구합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 백분위수의 값을 계산합니다.
import numpy as np result = np.percentile([10,20,30,40,50], [25,50,75]) print(result)
[20. 30. 40.]
출력 해설: 백분위수의 값을 계산합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 0부터 1 사이 분위수를 계산합니다.
import numpy as np result = np.quantile([10,20,30,40,50], [0.25,0.5,0.75]) print(result)
[20. 30. 40.]
출력 해설: 0부터 1 사이 분위수를 계산합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 가중평균을 구합니다.
import numpy as np result = np.average([70,80,90], weights=[1,2,3]) print(result)
83.33333333333333
출력 해설: 가중평균을 구합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 0 이상 정수의 빈도를 셉니다.
import numpy as np result = np.bincount([0,1,1,3,3,3]) print(result)
[1 2 0 3]
출력 해설: 0 이상 정수의 빈도를 셉니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 구간별 빈도와 경계값을 반환합니다.
import numpy as np result = np.histogram([1,2,2,3,4,5], bins=[0,2,4,6]) print(result)
(array([1, 3, 2]), array([0, 2, 4, 6]))
출력 해설: 구간별 빈도와 경계값을 반환합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 중복 제거 후 정렬된 고유값을 반환합니다.
import numpy as np result = np.unique([3,1,3,2,1]) print(result)
[1 2 3]
출력 해설: 중복 제거 후 정렬된 고유값을 반환합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 정렬된 새 배열을 반환합니다.
import numpy as np result = np.sort([9,2,7,1]) print(result)
[1 2 7 9]
출력 해설: 정렬된 새 배열을 반환합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 정렬 순서를 나타내는 인덱스를 반환합니다.
import numpy as np result = np.argsort([30,10,20]) print(result)
[1 2 0]
출력 해설: 정렬 순서를 나타내는 인덱스를 반환합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 정렬된 배열에서 삽입 위치를 구합니다.
import numpy as np result = np.searchsorted([1,3,5,7], [2,6]) print(result)
[1 3]
출력 해설: 정렬된 배열에서 삽입 위치를 구합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 0이 아닌 원소 개수를 셉니다.
import numpy as np result = np.count_nonzero([0,2,0,5,6]) print(result)
3
출력 해설: 0이 아닌 원소 개수를 셉니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 하나라도 참이면 참입니다.
import numpy as np result = np.any([False,False,True]) print(result)
True
출력 해설: 하나라도 참이면 참입니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 모두 참일 때만 참입니다.
import numpy as np result = np.all([True,True,False]) print(result)
False
출력 해설: 모두 참일 때만 참입니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 인접 원소의 차이를 구합니다.
import numpy as np result = np.diff([2,5,11,20]) print(result)
[3 6 9]
출력 해설: 인접 원소의 차이를 구합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 차분으로 수치 기울기를 근사합니다.
import numpy as np result = np.gradient([0.,1.,4.,9.,16.]) print(result)
[1. 2. 4. 6. 7.]
출력 해설: 차분으로 수치 기울기를 근사합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 피어슨 상관계수 행렬을 계산합니다.
import numpy as np result = np.corrcoef([1,2,3],[2,4,6]) print(result)
[[1. 1.] [1. 1.]]
출력 해설: 피어슨 상관계수 행렬을 계산합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 기본 ddof=1인 표본 공분산 행렬입니다.
import numpy as np result = np.cov([1,2,3],[2,4,6]) print(result)
[[1. 2.] [2. 4.]]
출력 해설: 기본 ddof=1인 표본 공분산 행렬입니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 두 벡터의 내적을 계산합니다.
import numpy as np result = np.dot([1,2,3], [4,5,6]) print(result)
32
출력 해설: 두 벡터의 내적을 계산합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 행렬곱을 수행합니다.
import numpy as np result = np.matmul([[1,2],[3,4]], [[2,0],[1,2]]) print(result)
[[ 4 4] [10 8]]
출력 해설: 행렬곱을 수행합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 첨자 표기로 내적을 계산합니다.
import numpy as np
result = np.einsum("i,i->", [1,2,3], [4,5,6])
print(result)32
출력 해설: 첨자 표기로 내적을 계산합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 두 벡터의 외적 형태 곱 배열을 만듭니다.
import numpy as np result = np.outer([1,2],[3,4,5]) print(result)
[[ 3 4 5] [ 6 8 10]]
출력 해설: 두 벡터의 외적 형태 곱 배열을 만듭니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 마지막 축끼리 내적을 계산합니다.
import numpy as np result = np.inner([1,2,3],[4,5,6]) print(result)
32
출력 해설: 마지막 축끼리 내적을 계산합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 3차원 벡터의 벡터곱입니다.
import numpy as np result = np.cross([1,0,0],[0,1,0]) print(result)
[0 0 1]
출력 해설: 3차원 벡터의 벡터곱입니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 주대각선 원소의 합입니다.
import numpy as np result = np.trace([[1,2],[3,4]]) print(result)
5
출력 해설: 주대각선 원소의 합입니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 정사각행렬의 행렬식을 구합니다.
import numpy as np result = np.linalg.det([[1,2],[3,4]]) print(result)
-2.0000000000000004
출력 해설: 정사각행렬의 행렬식을 구합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 가역행렬의 역행렬을 구합니다.
import numpy as np result = np.linalg.inv([[2.,0.],[0.,4.]]) print(result)
[[0.5 0. ] [0. 0.25]]
출력 해설: 가역행렬의 역행렬을 구합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 연립일차방정식 Ax=b를 풉니다.
import numpy as np result = np.linalg.solve([[2.,1.],[1.,3.]],[5.,7.]) print(result)
[1.6 1.8]
출력 해설: 연립일차방정식 Ax=b를 풉니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 고윳값을 구합니다(eigvals 사용).
import numpy as np result = np.linalg.eigvals([[2.,0.],[0.,3.]]) print(result)
[2. 3.]
출력 해설: 고윳값을 구합니다(eigvals 사용). 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 벡터의 기본 유클리드 노름입니다.
import numpy as np result = np.linalg.norm([3,4]) print(result)
5.0
출력 해설: 벡터의 기본 유클리드 노름입니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 행렬의 계수를 계산합니다.
import numpy as np result = np.linalg.matrix_rank([[1,2],[2,4]]) print(result)
1
출력 해설: 행렬의 계수를 계산합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 특잇값 분해의 특잇값을 구합니다.
import numpy as np result = np.linalg.svd([[3.,0.],[0.,2.]])[1] print(result)
[3. 2.]
출력 해설: 특잇값 분해의 특잇값을 구합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 2x²+3x+1을 x=2에서 계산합니다.
import numpy as np result = np.polyval([2,3,1], 2) print(result)
15
출력 해설: 2x²+3x+1을 x=2에서 계산합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 최소제곱으로 일차식 계수를 추정합니다.
import numpy as np result = np.polyfit([0,1,2],[1,3,5],1) print(result)
[2. 1.]
출력 해설: 최소제곱으로 일차식 계수를 추정합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 다항식 x²-3x+2의 근을 구합니다.
import numpy as np result = np.roots([1,-3,2]) print(result)
[2. 1.]
출력 해설: 다항식 x²-3x+2의 근을 구합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 교집합의 고유 원소를 반환합니다.
import numpy as np result = np.intersect1d([1,2,3],[2,3,4]) print(result)
[2 3]
출력 해설: 교집합의 고유 원소를 반환합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 합집합의 고유 원소를 반환합니다.
import numpy as np result = np.union1d([1,2,2],[2,3,4]) print(result)
[1 2 3 4]
출력 해설: 합집합의 고유 원소를 반환합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 첫 배열에만 있는 원소를 반환합니다.
import numpy as np result = np.setdiff1d([1,2,3],[2,4]) print(result)
[1 3]
출력 해설: 첫 배열에만 있는 원소를 반환합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 한쪽에만 존재하는 원소를 반환합니다.
import numpy as np result = np.setxor1d([1,2,3],[2,3,4]) print(result)
[1 4]
출력 해설: 한쪽에만 존재하는 원소를 반환합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 원소가 지정 집합에 포함되는지 확인합니다.
import numpy as np result = np.isin([1,2,3,4],[2,4]) print(result)
[False True False True]
출력 해설: 원소가 지정 집합에 포함되는지 확인합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 새 난수 생성기를 만들고 정수 난수를 생성합니다.
import numpy as np result = np.random.default_rng(42).integers(1,7,size=5) print(result)
[1 5 4 3 3]
출력 해설: 새 난수 생성기를 만들고 정수 난수를 생성합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 0 이상 1 미만 균등 난수를 생성합니다.
import numpy as np result = np.random.default_rng(42).random(4) print(result)
[0.77395605 0.43887844 0.85859792 0.69736803]
출력 해설: 0 이상 1 미만 균등 난수를 생성합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 정규분포 난수를 생성합니다.
import numpy as np result = np.random.default_rng(42).normal(0,1,4) print(result)
[ 0.30471708 -1.03998411 0.7504512 0.94056472]
출력 해설: 정규분포 난수를 생성합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 지정 값에서 무작위 표본을 뽑습니다.
import numpy as np result = np.random.default_rng(42).choice([10,20,30], size=4) print(result)
[10 30 20 20]
출력 해설: 지정 값에서 무작위 표본을 뽑습니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 0부터 4까지 무작위 순열을 생성합니다.
import numpy as np result = np.random.default_rng(42).permutation(5) print(result)
[4 2 3 1 0]
출력 해설: 0부터 4까지 무작위 순열을 생성합니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 메모리 파일에 .npy로 저장하고 다시 불러옵니다.
import numpy as np
result = (lambda b: (np.save(b,np.array([2,4,6])),b.seek(0),np.load(b))[2])(__import__("io").BytesIO())
print(result)[2 4 6]
출력 해설: 메모리 파일에 .npy로 저장하고 다시 불러옵니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.
핵심 개념: 텍스트로 저장한 수치 배열을 다시 읽습니다.
import numpy as np
result = (lambda b: (np.savetxt(b,np.array([[1,2],[3,4]]),fmt="%d"),b.seek(0),np.loadtxt(b,dtype=int))[2])(__import__("io").StringIO())
print(result)[[1 2] [3 4]]
출력 해설: 텍스트로 저장한 수치 배열을 다시 읽습니다. 위 출력의 값·형태·자료형과 코드를 함께 비교해 보세요.