1. numpy 생성하기
리스트형태 비슷하게 생겼지만, ','로 구분하지 않고 띄워쓰기로 원소가 구분되어있음.
a = np.array([1.1, 2.3, 3.5]) # 리스트로부터 집합 생성
b = np.arange(10)
c = np.arange(0, 10, 2)
d = np.ones((3, 7), dtype=int)
e = np.random.random((2, 4))
def f(x, y):
return 10*x + y
g = np.fromfunction(f, (2, 4), dtype=int)
display(a)
display(b)
display(c)
display(d)
display(e)
display(g)
[1.1 2.3 3.5]
[0 1 2 3 4 5 6 7 8 9]
[0 2 4 6 8]
[[1 1 1 1 1 1 1]
[1 1 1 1 1 1 1]
[1 1 1 1 1 1 1]]
[[0.01961757 0.93007107 0.34289332 0.67431283]
[0.05096109 0.2624511 0.68793221 0.23716327]]
[[ 0 1 2 3]
[10 11 12 13]]
2. numpy 사양확인
m = np.array([[1, 2], [3, 4]])
display(m.shape)
display(m.dtype)
(2, 2)
int32
3. numpy 연산하기
기존 연산자를 사용하면 각 요소들을 1:1로 매칭해서 연산한다.
x = np.array([1.0, 2.0, 3.0])
y = np.array([2.0, 4.0, 6.0])
a = x + y
b = x - y
c = x * y
d = x / y
e = x * y
display(a)
display(b)
display(c)
display(d)
display(e)
[3. 6. 9.]
[-1. -2. -3.]
[ 2. 8. 18.]
[0.5 0.5 0.5]
[ 2. 8. 18.]
4. numpy sum, min, max 함수
a = np.random.random((2, 3))
b = a.sum()
c = a.min()
d = a.max()
display(a)
display(b)
display(c)
display(d)
[[0.10296047 0.03212615 0.75786634]
[0.39795634 0.60008838 0.65154225]]
2.5425399278116245
0.032126153639016386
0.757866340200699
b = a.sum(axis=0) # 각 열의 합, axis=0이면 열
c = a.min(axis=1) # 각 행의 최소값, axis=1이면 행
display(b)
display(c)
[0.50091681 0.63221453 1.40940859]
[0.03212615 0.39795634]
5. numpy 인덱스 연산
a = np.array([[1, 2], [3, 4]])
b = a[0]
c = a[0][0]
d = a[np.array([0])]
e = a > 1 # 필터가 되어 동일 형태의 boolean값의 numpy로 변경된다.
f = a[a > 1]
display(a)
display(b)
display(c)
display(d)
display(e)
display(f)
[[1 2]
[3 4]]
[1 2]
1
[[1 2]]
[[False True]
[ True True]]
[2 3 4]
6. numpy 변환하기 : 다차원 행렬로 변환
a = np.arange(12)
b = a.reshape(4, 3) #=> 변환된 행렬을 반환
display(a)
display(b)
[ 0 1 2 3 4 5 6 7 8 9 10 11]
[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]
[ 9 10 11]]
7. numpy 변환하기 : 본인 자체를 다차원 행렬로 변환
a = np.arange(12)
a.resize((3, 4)) #=> 자체를 변환함(파괴적)
display(a)
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
8. numpy 변환하기 : 다차원 행렬을 1차원 행렬로 변환 flatten
a = np.array([[ 0 ,1, 2, 3], [ 4, 5, 6, 7],[ 8, 9, 10, 11]])
b = a.flatten()
display(b)
[ 0 1 2 3 4 5 6 7 8 9 10 11]
9. numpy 변환하기 : 다차원 행렬을 1차원 행렬로 변환 ravel
a = np.array([[ 0 ,1, 2, 3], [ 4, 5, 6, 7],[ 8, 9, 10, 11]])
b = a.flatten()
display(b)
[ 0 1 2 3 4 5 6 7 8 9 10 11]
10. numpy 변환하기 : 전치행렬
a = np.array([[ 0 ,1, 2, 3], [ 4, 5, 6, 7],[ 8, 9, 10, 11]])
b = a.T
display(a)
display(b)
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
[[ 0 4 8]
[ 1 5 9]
[ 2 6 10]
[ 3 7 11]]
'Language > python' 카테고리의 다른 글
[ Python pip ] pip 관리 (0) | 2019.12.19 |
---|---|
[ Python conda ] conda 가상환경 관리 (0) | 2019.12.19 |
[ Python 자료형 ] Dataframe 관리 (0) | 2019.12.08 |
[ Python 자료형 ] 집합(Set) 관리 (0) | 2019.12.08 |
[ Python 자료형 ] Dictionary (0) | 2019.12.08 |