배열 수가 많아서 배열의 처음 세 요소를 지우고 싶습니다.배열에서 요소 지우기
이 나에게 그 오류 제공 a = np.arange(0,10)
i=0
while(i<3):
del a[0]
i=i+1
"에 ValueError가 : 배열 요소를 삭제할 수 없습니다"나는이 솔루션을 시도했다. 나는 이것이 왜 그런지 이해하지 못한다. 도와 주셔서 감사합니다!
배열 수가 많아서 배열의 처음 세 요소를 지우고 싶습니다.배열에서 요소 지우기
이 나에게 그 오류 제공 a = np.arange(0,10)
i=0
while(i<3):
del a[0]
i=i+1
"에 ValueError가 : 배열 요소를 삭제할 수 없습니다"나는이 솔루션을 시도했다. 나는 이것이 왜 그런지 이해하지 못한다. 도와 주셔서 감사합니다!
너피 (Numpy) 배열은 크기가 고정되어 있으므로 단순히 요소를 삭제할 수 없습니다.
a = a[3:]
이 원래 배열의 4 번째 요소로 시작하는 새 배열을 만들 것입니다 : 당신이 원하는 것을 달성하는 가장 간단한 방법은 슬라이스를 사용하는 것입니다.
특정 시나리오의 경우 슬라이스로는 충분하지 않습니다. 원래 배열에서 특정 요소로 구성된 부분 배열을 만들려면, 당신은 인덱스를 선택하는 또 다른 배열을 사용할 수 있습니다 : 그러니까 기본적으로
>>> a = arange(10, 20)
>>> a[[1, 4, 5]]
array([11, 14, 15])
을 a[[1,4,5]]
는 요소 1,4 및 구성 배열을 반환합니다 5 원래 배열의.
numpy 배열은 요소 삭제를 지원하지 않습니다. 당신이 원하는 것을 얻기 위해 슬라이싱을 사용하는 것이 어떻습니까?
a = a[3:]
나는 [3 :]을 (를) 의미한다고 생각합니까? ...? –
@Neil : 네 말이 맞아. 그것은 실제로 첫 번째 버전 이었지만, 뒤틀린 이유로 4로 변경했습니다. –
고마워요! 이것은 작동합니다 : – dawnoflife