x = np.arange(9).reshape((3,3))
x

np.diag(x)

np.diag(x, k=1)

np.diag(x, k=-1)

np.diag(np.diag(x))

np.diag(np.diag(x, k=-1), k=1)

"""
Explanation: 주요 내용
넘파이 어레이와 관련된 다양한 함수들의 활용 예제들을 살핀다.
연습문제
아래 모양의 어레이를 생성하라. 단, 3줄 이내로 코딩해야 한다.
[[1, 1, 1, 1],
 [1, 1, 1, 1],
 [1, 1, 1, 2],
 [1, 6, 1, 1]]

힌트: np.ones 함수와 인덱싱 활용.     
np.diag() 함수 활용
np.diag() 함수는 최대 2개의 인자를 받는다.
np.diag(v, k=0)



v: 1차원 또는 2차원 어레이 (리스트, 튜플 가능)

v가 2차원 어레일 때: 해당 어레이의 k 번째 대각선을 1차원 어레이로 리턴한다.
v가 1차원 어레일 때: 해당 어레이를 k 번째 대각선으로 갖는 2차원 어레이를 리턴한다.



k : 정수 (옵션 키워드 인자)

k 번째 대각선을 의미함.
k &gt; 0 인 경우: 중앙 대각선에서 윗쪽으로 k번째 위치한 대각선
k &lt; 0 인 경우: 중앙 대각선에서 아랫쪽으로 k번째 위치한 대각선



예제
End of explanation
"""


np.diag(np.arange(2, 7), k=-1)

"""
Explanation: 연습문제
아래 모양의 어레이를 생성하라. 단, 3줄 이내로 코딩해야 한다.
[[0., 0., 0., 0., 0.],
 [2., 0., 0., 0., 0.],
 [0., 3., 0., 0., 0.],
 [0., 0., 4., 0., 0.],
 [0., 0., 0., 5., 0.],
 [0., 0., 0., 0., 6.]]
End of explanation
"""


