- NumPy - 수학/과학 연산을 위한 파이썬 패키지
- NumPy 기초
- NumPy 어레이 만들기
- NumPy 어레이 출력하기
- NumPy 기본 연산
- NumPy 범용 함수 (ufunc)
- NumPy 인덱싱/슬라이싱/이터레이팅
- NumPy 어레이 형태 다루기
- NumPy 난수 생성 (Random 모듈)
- NumPy 다양한 함수들
- numpy.absolute
- numpy.add
- numpy.allclose
- numpy.amax
- numpy.amin
- numpy.append
- numpy.arange
- numpy.arccos
- numpy.arccosh
- numpy.arcsin
- numpy.arcsinh
- numpy.arctan
- numpy.arctanh
- numpy.argmax
- numpy.argsort
- numpy.around
- numpy.array_equal
- numpy.array_split
- numpy.array
- numpy.cbrt
- numpy.ceil
- numpy.clip
- numpy.concatenate
- numpy.copy
- numpy.cos
- numpy.cosh
- numpy.cumsum
- numpy.deg2rad
- numpy.delete
- numpy.digitize
- numpy.divide
- numpy.dot
- numpy.dsplit
- numpy.empty_like
- numpy.empty
- numpy.equal
- numpy.exp
- numpy.exp2
- numpy.expm1
- numpy.fabs
- numpy.fix
- numpy.floor_divide
- numpy.floor
- numpy.full_like
- numpy.full
- numpy.greater_equal
- numpy.greater
- numpy.hsplit
- numpy.identity
- numpy.insert
- numpy.isclose
- numpy.less_equal
- numpy.less
- numpy.linspace
- numpy.loadtxt
- numpy.log
- numpy.log1p
- numpy.log2
- numpy.log10
- numpy.matmul
- numpy.mean
- numpy.mod
- numpy.multiply
- numpy.ndarray.astype
- numpy.ndarray.flatten
- numpy.ndarray.shape
- numpy.negative
- numpy.nonzero
- numpy.not_equal
- numpy.ones_like
- numpy.ones
- numpy.polyfit
- numpy.positive
- numpy.power
- numpy.prod
- numpy.rad2deg
- numpy.random.rand
- numpy.random.randint
- numpy.random.randn
- numpy.random.seed
- numpy.random.standard_normal
- numpy.reciprocal
- numpy.remainder
- numpy.repeat
- numpy.reshape
- numpy.rint
- numpy.round_
- numpy.savetxt
- numpy.set_printoptions
- numpy.sign
- numpy.sin
- numpy.sinh
- numpy.split
- numpy.sqrt
- numpy.square
- numpy.std
- numpy.subtract
- numpy.sum
- numpy.take
- numpy.tan
- numpy.tanh
- numpy.tile
- numpy.transpose
- numpy.tril
- numpy.triu
- numpy.true_divide
- numpy.trunc
- numpy.var
- numpy.vsplit
- numpy.where
- numpy.zeros_like
- numpy.zeros
- NumPy 상수
- Python Tutorial
- NumPy Tutorial
- Matplotlib Tutorial
- PyQt5 Tutorial
- BeautifulSoup Tutorial
- xlrd/xlwt Tutorial
- Pillow Tutorial
- Googletrans Tutorial
- PyWin32 Tutorial
- PyAutoGUI Tutorial
- Pyperclip Tutorial
- TensorFlow Tutorial
- Tips and Examples
NumPy 인덱싱/슬라이싱/이터레이팅¶
파이썬 리스트와 다른 시퀀스들과 비슷하게, NumPy의 1차원 어레이를 인덱싱, 슬라이싱, 이터레이팅 (반복)할 수 있습니다.
인덱싱 (Indexing)¶
인덱스를 이용해서 어레이의 요소에 접근합니다.
예제¶
import numpy as np
a = np.arange(10)**2
# Indexing
print(a[2])
print(a[-1])
4
81
슬라이싱 (Slicing)¶
파이썬에서와 동일하게 어레이를 슬라이스할 수 있습니다.
예제¶
import numpy as np
a = np.arange(10)**2
# Slicing
print(a[2:5])
print(a[:4:2]) # equal to a[0:4:2]
print(a[4::2]) # equal to a[4:len(a):3]
print(a[::-1]) # reversed array
[ 4 9 16]
[0 4]
[16 36 64]
[81 64 49 36 25 16 9 4 1 0]
이터레이팅 (Iterating)¶
파이썬의 다른 반복 가능한 (iterable) 시퀀스와 마찬가지로 NumPy 어레이도 반복 (iterate)할 수 있습니다.
예제¶
import numpy as np
a = np.arange(10)**2
# Iterating
for i in a:
print(i * 2)
0
2
8
18
32
50
72
98
128
162
다차원 어레이는 축당 하나의 인덱스를 가집니다. 이 인덱스들은 콤마 (comma)로 구분된 튜플의 형태로 주어집니다.
예제¶
import numpy as np
def f(x, y):
return x + y
b = np.fromfunction(f, (5, 4), dtype=int)
print(b)
print(b[2, 3]) # element of third row, fourth column
print(b[0:5, 1]) # second column
print(b[:, 1]) # second column
print(b[1:3, :]) # second~third row
[[0 1 2 3]
[1 2 3 4]
[2 3 4 5]
[3 4 5 6]
[4 5 6 7]]
5
[1 2 3 4 5]
[1 2 3 4 5]
[[1 2 3 4]
[2 3 4 5]]
축의 개수에 비해 적은 수의 인덱스가 입력되면 부족한 인덱스는 ‘ : ‘로 인식됩니다.
예제¶
import numpy as np
def f(x, y):
return x + y
b = np.fromfunction(f, (5, 4), dtype=int)
print(b[-1])
[4 5 6 7]
인덱스 튜플을 완성하기 위해 점들(…)을 사용할 수 있습니다.
예를 들어, 어레이 x가 5개의 축을 갖는다고할 때,
- x[1, 2, …]는 x[1, 2, :, :, :]와 같습니다.
- x[…, 3]은 x[:, :, :, :, 3]과 같습니다.
- x[4, …, 5, :]는 x[4, :, :, 5, :]와 같습니다.
다차원 어레이의 이터레이팅은 첫번째 축을 기준으로 이루어집니다.
예제¶
import numpy as np
def f(x, y):
return x + y
b = np.fromfunction(f, (5, 4), dtype=int)
for row in b:
print(row)
[0 1 2 3]
[1 2 3 4]
[2 3 4 5]
[3 4 5 6]
[4 5 6 7]
하지만 어레이의 각 요소에 대해 연산을 수행하고 싶다면, flat
속성을 사용할 수 있습니다.
예제¶
import numpy as np
def f(x, y):
return x + y
b = np.fromfunction(f, (5, 4), dtype=int)
print(b)
for element in b.flat:
print(element)
[[0 1 2 3]
[1 2 3 4]
[2 3 4 5]
[3 4 5 6]
[4 5 6 7]]
0
1
2
3
1
2
3
4
2
3
4
5
3
4
5
6
4
5
6
7
이전글/다음글
이전글 : NumPy 범용 함수 (ufunc)
다음글 : NumPy 어레이 형태 다루기