본문 바로가기

코딩으로 익히는 Python/Numpy

[Python] 01. numpy 객체 생성 : array(),ones(),zeros(),eye(),random.rand(),choice()예제

728x90
반응형
SMALL
import numpy as np

 

numpy : 리스트의 확장판 (데이터 연산, 통계분석)

 

pandas : numpy의 확장판


용어 정리

 

  • scalar : 상수값(10,3.14,'korea')
  • vector(1차원) : [10,20,30]
  • matrix(2차원) : [[10,20,30],[100,200,300]] 2X3
  • 3차원 : [[[10,20,30],[100,200,300]],[[10,20,30],[100,200,300]]] 2X2X3

ndarray 생성 방법 #1

 

arr1 = np.array([10,20,30])
print(type(arr1))
print(arr1)
arr1
[OUT] :

<class 'numpy.ndarray'>
[10 20 30]
array([10, 20, 30])

 

arr2 =  np.array([[10,20,30],[100,200,300]])
print(arr2)
[OUT] :

[[ 10  20  30]
 [100 200 300]]

 

ndarray 생성방법 #2

 

arr3 = np.arange(1,11,1) #1<=arr<11 1씩 증가
arr3
[OUT] :

array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10])

 

arr4 = np.arange(1,11,2) #1<=arr<11 2씩 증가
arr4
[OUT] :

array([1, 3, 5, 7, 9])

 

ndarray 생성방법 #3

 

arr5 = np.random.randint(1,11, size = 5)
arr5
[OUT] :

array([10,  4,  9,  3,  4])

 

arr6 = np.random.randint(1,11, size=(3,2)) 
arr6
[OUT] :

array([[5, 1],
       [8, 9],
       [1, 5]])

np.random 함수들

  • np.random.rand()
  • np.random.randn()
  • np.random.choice()

np.random 예제

 

np.random.rand(5) #0~1 사이 실수값 반환
[OUT] :

array([0.98382111, 0.18553758, 0.73721467, 0.51819931, 0.54414999])

 

np.random.rand(2,3) #0~1 사이 실수값 반환
[OUT] :

array([[0.50269684, 0.99471141, 0.78622809],
       [0.55129012, 0.81742335, 0.94890873]])

 

np.random.randn(5) #표준정규분포(평균0,편차1)
[OUT] :

array([ 0.30914633, -0.65225275, -1.04330159, -0.63258296, -1.19028071])

 

np.random.randn(2,3)
[OUT] :

array([[-0.10451618, -0.87200105,  1.46165221],
       [ 0.65454683, -0.65742383,  0.18644771]])

 

np.random.choice([1,2,3,4,5],)
[OUT] :

5

 

np.random.choice(np.arange(1,11),5)
[OUT] :

array([6, 6, 7, 9, 3])

numpy 여러 함수들

 

  • np.float32()
  • np.array()
  • np.ones()
  • np.zeros()
  • np.eye()
  • np.linspace()
  • np.unique()
  • zip()

numpy 여러 함수들 예제

 

np.float32([1,2,3,4,5])
[OUT] :

array([1., 2., 3., 4., 5.], dtype=float32)

 

np.array([1,2,3,4,5],dtype=np.str)
[OUT] :

array(['1', '2', '3', '4', '5'], dtype='<U1')

 

np.ones(3)
[OUT] :

array([1., 1., 1.])

 

np.ones((3,3))
[OUT] :

array([[1., 1., 1.],
       [1., 1., 1.],
       [1., 1., 1.]])

 

np.zeros(3)
[OUT] :

array([0., 0., 0.])

 

np.eye(3)
[OUT] :

array([[1., 0., 0.],
       [0., 1., 0.],
       [0., 0., 1.]])

 

np.linspace(1,10)
[OUT] :

array([ 1.        ,  1.18367347,  1.36734694,  1.55102041,  1.73469388,
        1.91836735,  2.10204082,  2.28571429,  2.46938776,  2.65306122,
        2.83673469,  3.02040816,  3.20408163,  3.3877551 ,  3.57142857,
        3.75510204,  3.93877551,  4.12244898,  4.30612245,  4.48979592,
        4.67346939,  4.85714286,  5.04081633,  5.2244898 ,  5.40816327,
        5.59183673,  5.7755102 ,  5.95918367,  6.14285714,  6.32653061,
        6.51020408,  6.69387755,  6.87755102,  7.06122449,  7.24489796,
        7.42857143,  7.6122449 ,  7.79591837,  7.97959184,  8.16326531,
        8.34693878,  8.53061224,  8.71428571,  8.89795918,  9.08163265,
        9.26530612,  9.44897959,  9.63265306,  9.81632653, 10.        ])

 

np.linspace(1,10,5)
[OUT] :

array([ 1.  ,  3.25,  5.5 ,  7.75, 10.  ])

 

v,c = np.unique([1,2,2,3,3,3,4,4,5],return_counts=True)  #중복제거
print(v)
print(c)
[OUT] :

[1 2 3 4 5]
[1 2 3 2 1]

 

for a,b in zip(v,c):
    print(a,b)
[OUT] :

1 1
2 2
3 3
4 2
5 1

REVIEW
- 백문이 불여일타
728x90
반응형
LIST