본문 바로가기
대학원 공부/programming language

Numpy : array_made

by 월곡동로봇팔 2019. 10. 26.

Numpy는 Array를 다루는 라이브러리로 보통 Pandas와 같이 쓴다.

numpy를 잘 이해하고, 잘 다룰줄 알아야 나중에 머신러닝 & 딥러닝에서 유용하게 쓰인다.

잘 알아두기!!!!

 

 

import numpy as np

# 1,2차원 생성
x = np.array([1,2,3,4])
y = np.array([[2,3,4],[1,2,5]])
print(x,y)
print(type(x))

"""
output:
[1 2 3 4]
[[2 3 4]
 [1 2 5]]
<class 'numpy.ndarray'>
"""
-----------------------------------------
# np.arrange 함수로 생성하기
# 0-9까지
print(np.arange(10))
# 1-9까지
print(np.arange(1,10))
# np.arange(,,2)는 2만큼 띄어서 프린트
print(np.arange(1,10,2))

"""
[0 1 2 3 4 5 6 7 8 9]
[1 2 3 4 5 6 7 8 9]
[1 3 5 7 9]
"""
-----------------------------------------
# np.ones shape 만큼 영행렬 생성
print(np.ones((4,5)))
print(np.ones((2,3,4)) )

# np.zeros
print(np.zeros((2,3,4)))


"""
배열의 크기가 커지면 배열을 초기화하는데도 시간이 걸린다.
따라서 배열만 생성해놓고 특정한 값으로 초기화를 하지 않는 empty를 쓴다.

ones, zeros 는 작을 때
empty, full 은 shape가 클 때

"""
# np.empty, np.full 로 생성하기
print(np.empty((3,4)))

print(np.full( (2,3,4) ,7) )

"""
np.full은 shape를 정한 후, 그 숫자로 채운다.

[[0. 0. 0. 0.]
 [0. 0. 0. 0.]
 [0. 0. 0. 0.]]
 
[[[7 7 7 7]
  [7 7 7 7]
  [7 7 7 7]]

 [[7 7 7 7]
  [7 7 7 7]
  [7 7 7 7]]]
"""
# np.eye : 단위행렬 생성
print(np.eye(3))

"""
[[1. 0. 0.]
 [0. 1. 0.]
 [0. 0. 1.]]
"""

# np.linspace : (a, b, c) a와 b 사이에 c만큼 dot 갯수르 찍어두고 간격을 array로

print(np.linspace(1,10,4))

"""
output :
[ 1.  4.  7. 10.]
"""

y = np.array([[2,3,4],[1,2,5]])
y = y.reshape(3,2)

"""
reshape 는 행렬의 원소들을 일렬로 배치 후 재배치하는 것 과 같다.
"""
print(y)
print(y.shape)

"""
[[2 3]
 [4 1]
 [2 5]]
(3, 2)
"""

 

댓글