파이썬 함수

numpy 라이브러리(2) 데이터 재배열과 랜덤함수

개발연습자1 2022. 11. 23. 10:58

 

지난 시간에 이어 오늘은 numpy라이브러리의 데이터 재배열과 랜덤함수에 대해서 알아본다.

 

1. np.linspace함수

    정수 말고 실수 데이터를 얻고자 할때 사용된다.

np.linspace(0,25,10)
>>>>>> array([ 0.        ,  2.77777778,  5.55555556,  8.33333333, 11.11111111,
              13.88888889, 16.66666667, 19.44444444, 22.22222222, 25.        ])
#25만 제외하고 싶은경우
np.linspace(0,25,10,endpoint = False)
>>>>>> array([ 0. ,  2.5,  5. ,  7.5, 10. , 12.5, 15. , 17.5, 20. , 22.5])

 

2. .reshape함수

    데이터를 재배열시켜 데이터의 차원을 바꿀때 사용되는 함수이다.

   

x = np.arange(2, 10+1)
x
>>> array([ 2,  3,  4,  5,  6,  7,  8,  9, 10])
#x데이터를 재배치
x.reshape( 3 , 3 )
>>> array([[ 2,  3,  4],
           [ 5,  6,  7],
           [ 8,  9, 10]])
# x.ndim함수로 데이터가 어느 차원인지 알수 있다.
x.ndim
>>> 2

 

reshape 함수를 이용할때 어떤방식으로 작동하는지 그림으로 알아두자

 

 

3. numpy 랜덤함수 

    numpy도 랜덤으로 값을 생성해 그값을 데이터로 저장 할수 있다. 랜덤함수에는

    크게 2가지가 있다.

    

  • np.random.random() 

    랜덤으로 0~1사이의 값을 뽑아내어 1차원배열에 저장하는 함수이다.  이때 괄호안에

    정수 값을 넣으면 넣은 숫자 만큼 항목을 만든다.

a = np.random.random(10)
a
>>> array([0.24759255, 0.98908649, 0.78330846, 0.49698947, 0.58799177,
           0.42094136, 0.38726566, 0.48901374, 0.41094072, 0.29208044])

 

  • np.random.randint()

       랜덤으로 값을 뽑아내는건 random함수와 비슷하지만 정수값만 뽑아내며

       괄호안에 범위와 차원을 지정하면 원하는 랜덤정수값 데이터를 만들수 있

       다.

x = np.random.randint(1,100,(2,5))
x
>>> array([[71, 32,  3,  1, 16],
           [33, 49, 16, 62,  3]])

  

반응형