유용링크들

101가지 문제풀기 연습



random 관련


0이상 20미만의 int 10개 배열 만들기

> a = np.random.randint(20, size=10)

array([17, 12,  4, 18, 11, 15,  5, 19, 19, 18])



5행3열의 array를 만들고 그 값들을 5~10 사이의 랜덤한 숫자로 채우고 싶을때

np.random.uniform(5, 10, size=(5,3))

#> [[ 8.50061025  9.10531502  6.85867783]

#>  [ 9.76262069  9.87717411  7.13466701]

#>  [ 7.48966403  8.33409158  6.16808631]

#>  [ 7.75010551  9.94535696  5.27373226]

#>  [ 8.0850361   5.56165518  7.31244004]]


위를 소수점 3째자리 까지만 나오도록 하고 싶으면

> np.set_printoptions(precision=3) 하면됨(글로벌 적용이라 그 이후에 출력하는데는 다 공통적으로 적용됨)


e-04와 같은 scientific notation을 제거하고 싶으면?

> np.set_printoptions(suppress=True) 하면 된다.



array관련

> np.arange(10) 하면 array([0,1,2,3,4,5,6,7,8,9]) 가 만들어 진다.



> arr = np.arange(10) 한다음


> arr[arr%2 == 1] 하면 array([1,3,5,7,9])가 리턴된다. (조건문을 인덱스 부분에 넣을 수 있다는 것. 그냥 python list로는 안되는 부분)


> arr[arr%2 == 1] = -1 하면 arrary([0,-1,2,-1,4,-1,6,-1,8,-1]) 이 만들어진다. 조건문으로 인덱스 조회가 되는것 뿐 아니라 assign과 연결시킬수도 있다.


> arr *= -1 하면 array([0,-1,-2,-3,-4,-5,-6,-7,-8,-9])가 만들어진다. (element에 대한 연산을 저런식으로 할 수 있다는것.. python list로는 다른 의미가 되어버리니 주의할 것)



np.where 사용하기

> a = np.array([1,2,3,2,3,4,3,4,5,6])

> b = np.array([7,2,10,2,7,4,9,4,9,8])


값이 같은 인덱스만 추리고 싶으면?

> np.where(a == b) 하면된다.

> array([1,3,5,7])이 리턴된다.




반응형

'Programming > Python' 카테고리의 다른 글

pudb  (0) 2018.11.15
Anaconda & Jupyter  (0) 2018.03.23
python virtualenv 가상환경  (0) 2017.11.16
python에서 doxygen 사용해보기  (0) 2017.11.14
python import  (0) 2017.11.14

+ Recent posts