이 질문에 대한 답변이 입니다. matplotlib의 example입니다.인덱스와 연관된 줄임표와 콜론이 모두있는 matplotlib의 예를 이해할 수 없습니다.
여기에 내가
def update_line(num, data, line):
line.set_data(data[...,:num])
return line,
이 line.set_data(data[...,:num])
은 무엇입니까 이해하지 못하는 부분이있어?
이 질문에 대한 답변이 입니다. matplotlib의 example입니다.인덱스와 연관된 줄임표와 콜론이 모두있는 matplotlib의 예를 이해할 수 없습니다.
여기에 내가
def update_line(num, data, line):
line.set_data(data[...,:num])
return line,
이 line.set_data(data[...,:num])
은 무엇입니까 이해하지 못하는 부분이있어?
다차원 배열에서 슬라이싱하기 위해 numpy에서 제공하는 특별한 구문입니다. 일반 구문은 a[s1,s2, ... , sn]
입니다. 여기에서 si
은 일반적인 분할 또는 인덱싱 시퀀스에 사용되는 표현식이며 i 번째 차원에서 원하는 슬라이스를 정의합니다. 예 : a[5,2:3,1::2]
.
...
은 모든 크기로 전체 슬라이스를 가져 오는 축약 형입니다. 예를 들어 a[...,3]
은 a
이 입체 일 경우 a[:,:,3]
의 줄임말입니다.
실제로는 numpy
표기입니다. numpy
에서는 :
슬라이스의 가변 개수에 대한 자리 표시 자로 ...
(줄임표)가 사용됩니다. docs에서
:
생략 부호가의 수를 확장 : x.ndim과 같은 길이의 선택 튜플을 만드는 데 필요한 객체. 첫 번째 줄임표 만 확장 된 이고 다른 모든 것은 다음과 같이 해석됩니다.
사용법 :
In : x = numpy.array(range(8)).reshape(2,2,2)
In : x
Out:
array([[[0, 1],
[2, 3]],
[[4, 5],
[6, 7]]])
In : x[...,0]
Out:
array([[0, 2],
[4, 6]])
In : x[:,:,0]
Out:
array([[0, 2],
[4, 6]])