반응형
numpy 배열의 numpy 배열을 만드는 데 문제가 있습니다. 루프로 만들 것입니다.
a=np.array([])
while(...):
...
b= //a numpy array generated
a=np.append(a,b)
...
원하는 결과 :
[[1,5,3], [9,10,1], ..., [4,8,6]]
실제 결과 :
[1,5,3,9,10,1,... 4,8,6]
가능할까요? 배열의 최종 차원을 모르기 때문에 고정 차원으로 초기화 할 수 없습니다.
해결 방법
루프에서 numpy
배열에 추가하지 마십시오. 기본 Python에 비해 NumPy가 매우 나쁜 작업입니다. 이는 추가
할 때마다 데이터의 전체 사본을 만들기 때문에 2 차 시간이 소요됩니다.
대신 배열을 Python 목록에 추가하고 끝에서 변환하십시오. 결과는 더 간단하고 빠릅니다.
a = []
while ...:
b = ... # NumPy array
a.append(b)
a = np.asarray(a)
코드가 작동하지 않는 이유 : np.append
는 list.append
처럼 작동하지 않습니다. 특히 추가 할 때 새 차원을 생성하지 않습니다. 2 차원으로 초기 배열을 만든 다음 명시적인 축 인수를 추가해야합니다.
참조 페이지 https://stackoverflow.com/questions/31250129
반응형
'파이썬' 카테고리의 다른 글
파이썬 Python : 빈 목록에서 팝 (0) | 2020.11.22 |
---|---|
파이썬 손자 클래스에서 슈퍼 메서드를 호출하는 방법은 무엇입니까? (0) | 2020.11.21 |
파이썬 django.core라는 모듈이 없습니다. (0) | 2020.11.21 |
파이썬 별도의 스레드에서 플라스크 애플리케이션 시작 (0) | 2020.11.21 |
파이썬 Pandas 데이터 프레임의 열에 대문자 적용 (0) | 2020.11.21 |
댓글