계단에서 특정 위치에 도달하기까지의 시간 같은 좀 더 복잡한 통계를 구할 수 있는데, 계단의
처음 위치에서 최초로
10
칸 떨어지기까지 얼마나 걸렸는지 확인해보자.
np
.
abs
(
walk
)
>
=
10
으로 처음 위치에서
10
칸 이상 떨어진 시점을 알려주는 불리언 배열을 얻을 수 있다. 우리는
최초의
10
혹은 -
10
인 시점을 구해야 하므로 불리언 배열에서 최댓값의 처음 색인을 반환하는
argmax
를 사용하자(
True
가 최댓값이다).
In
[
257
]:
(
np
.
abs
(
walk
)
>
=
10
).
argmax
()
Out
[
257
]:
37
여기서
argmax
를 사용했지만
argmax
는 배열 전체를 모두 확인하기 때문에 효과적인 방법은 아
니다. 또한 이 예제에서는
True
가 최댓값임을 이미 알고 있었다.
4.7.1
한 번에 시뮬레이션하기
계단 오르내리기를 많은 횟수(대략
5
,
000
회 정도) 시뮬레이션하더라도 위 코드를 조금만 수
정해서 해결할 수 있다.
numpy
.
random
함수에 크기가
2
인 튜플을 넘기면
2
차원 배열이 생성되
고 각 컬럼에서 누적합을 구해서
5
,
000
회의 시뮬레이션을 한 방에 처리할 수 있다.
In
[
258
]:
nwalks
=
5000
In
[
259
]:
nsteps
=
1000
In
[
260
]:
draws ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.