배열의 목록에 배열의 현재 위치에서 항목을 삭제하기 .
이것은 각 배열의 0 번째 인덱스 (첫 번째 배열 제외)가 0 인 배열의 목록을 제공합니다. 자리 표시 자 0이없는 배열 목록을 얻으려면이 0을 제자리에서 삭제하려면 어떻게합니까? 내가 반복하지 않기 때문에 각 배열에 삭제 된 0을 새 배열 목록에 추가하기 때문에 내부에서 말합니다.는 어떻게 다음 줄을 사용
2
A
답변
1
, 여기에 예입니다
import numpy as np
a = np.random.randint(0, 5, 100)
idx = np.where(a == 0)[0]
np.split(a, idx)
출력 :
[array([4, 3]),
array([0, 3, 1, 1]),
array([0, 4]),
array([0]),
array([0, 1, 2, 4]),
array([0, 4, 2, 2, 3, 1]),
array([0, 2, 4, 3]),
array([0, 2, 2, 4]),
array([0, 3, 2, 1, 2, 4, 1, 2]),
array([0]),
array([0]),
array([0, 1, 3]),
array([0]),
array([0, 1, 3, 2, 4]),
array([0, 3, 3]),
array([0, 3]),
array([0, 3, 4, 1, 2, 3, 3, 4, 3, 4, 2, 1]),
array([0]),
array([0, 3, 2]),
array([0]),
array([0, 4, 1, 4, 2, 3, 1]),
array([0, 4]),
array([0]),
array([0]),
array([0, 3, 4, 2, 3]),
array([0, 4, 4, 3, 3, 3, 1]),
array([0, 2, 4, 1]),
array([0, 4, 2, 2]),
array([0])]
제거 a
의 모든 제로, 새로운 인덱스 계산 :
idx2 = idx - np.arange(len(idx))
b = np.delete(a, idx)
np.split(b, np.unique(idx2))
을
다음은 출력입니다.
[array([4, 3]),
array([3, 1, 1]),
array([4]),
array([1, 2, 4]),
array([4, 2, 2, 3, 1]),
array([2, 4, 3]),
array([2, 2, 4]),
array([3, 2, 1, 2, 4, 1, 2]),
array([1, 3]),
array([1, 3, 2, 4]),
array([3, 3]),
array([3]),
array([3, 4, 1, 2, 3, 3, 4, 3, 4, 2, 1]),
array([3, 2]),
array([4, 1, 4, 2, 3, 1]),
array([4]),
array([3, 4, 2, 3]),
array([4, 4, 3, 3, 3, 1]),
array([2, 4, 1]),
array([4, 2, 2]),
array([], dtype=float64)]
+0
pandas DataFrames로 끝내게되었습니다. 내가 쪼개지는 일과 청소를 모두 할 필요는 없다는 것을 알았지 만, 도움에 감사 드리며 문제에 대한 좋은 해결책! – user3416961
관련 문제
- 1. 는 NSXMLParser는 다음 줄을 발견하면
- 2. 문자열과 다음 줄을 일치시키는 줄을 어떻게 추출합니까?
- 3. 는 다음 코드를 사용
- 4. 는 어떻게 다음
- 5. 는 어떻게 다음 코드를 사용하고
- 6. 는 어떻게 다음 코드를 사용하고
- 7. 는 어떻게 다음 코드를 사용했다
- 8. 는 어떻게 WPF DataGrid에 다음
- 9. 는 어떻게 내 레이아웃에 다음
- 10. 는 어떻게 다음 표를 기록
- 11. 는 어떻게 다음 코드가 다른
- 12. 는 어떻게 다음 형식의 데이터가
- 13. 는 JSON 내가 jQuery 코드의 다음 줄을 사용하고 IE7
- 14. 는 어떻게 다음 가져 오기 어떻게 com.android.internal.telephony
- 15. 는 최신 엑스 코드 내가 엑스 코드에서 코드의 다음 줄을
- 16. 는 어떻게 다음 시도 윈도우 7
- 17. 는 어떻게 QML 코드 다음 한 C++
- 18. 내가 다음 코드 줄을
- 19. R에서 다음 줄을 계속하려면?
- 20. 는 Angularfire2 내가 다음 로그인 방법을 사용
- 21. 는 방법 위로 내가 다음 줄을 쓸 수 앵커와 왼쪽
- 22. 는 다음 줄을 C#을 GUI에 런타임 오류를 생성
- 23. 받는다는 $ {user.home의}는 내 pom.xml 파일에 다음 줄을 가지고 올바르게
- 24. 는 다음
- 25. 는 어떻게 부동 div의 다음 한 사업부
- 26. 는 어떻게 HTML 구조 다음 한 asp.net
- 27. 는 어떻게 다음 코드를 사용하고 쿼리 문자열
- 28. 는 어떻게 다음 한 목표 - C
- 29. 는 어떻게 그리드 다음 한 바인딩 이벤트
- 30. 는 어떻게 데이터와 코드 다음 한 함수
중첩 된 목록의 길이는 모두 같은데 (첫 번째 제외)? 그렇다면 첫 번째에 '0'을 추가하고 2 차원 배열로 캐스팅 한 다음 첫 번째 열을 삭제할 수 있습니다. – hpaulj
나는 그것에 대해 생각했다. 불행하게도. 궁극적으로 출력을 각 열이이 목록의 배열 인 DataFrame으로 만들고 싶습니다. 그 형식에 있다면, 내가 제안한 것을 할 수 있어야한다고 생각하지만, 여전히 df 형식으로 들어가기 위해 노력 중입니다. – user3416961
'[array_list에있는 항목에 대해 [item [1 :]]'반복 및 수행 중입니다. 빠른. 배열을 복사하지 않습니다. 그것은 기본적으로 당신이 요구하는 것입니다. 당신은 실제로 numpy 배열에서 항목을 삭제할 수 없습니다. 복사하지 않고 첫 번째 항목을 제외한 모든 것을 보려면 'item [1 :]'(위와 동일)을 수행하면됩니다. –