반응형
이게 너무 쉬울 거라고 맹세하는데 ... 왜 안돼? :(
사실, 동일한 배열의 두 부분을 결합하여 복잡한 배열을 만들고 싶습니다.
Data[:,:,:,0] , Data[:,:,:,1]
작동하지 않습니다.
x = np.complex(Data[:,:,:,0], Data[:,:,:,1])
x = complex(Data[:,:,:,0], Data[:,:,:,1])
내가 뭔가를 놓치고 있습니까? numpy는 복소수에 대해 배열 함수를 수행하는 것을 좋아하지 않습니까? 오류는 다음과 같습니다.
TypeError: only length-1 arrays can be converted to Python scalars
해결 방법
이것은 당신이 원하는 것을하는 것 같습니다.
numpy.apply_along_axis(lambda args: [complex(*args)], 3, Data)
다음은 또 다른 해결책입니다.
# The ellipsis is equivalent here to ":,:,:"...
numpy.vectorize(complex)(Data[...,0], Data[...,1])
또 다른 간단한 솔루션 :
Data[...,0] + 1j * Data[...,1]
PS : 메모리를 절약하려는 경우 (중간 어레이 없음) :
result = 1j*Data[...,1]; result += Data[...,0]
아래 devS의 솔루션도 빠릅니다.
참조 페이지 https://stackoverflow.com/questions/2598734
반응형
'파이썬' 카테고리의 다른 글
파이썬 matplotlib에서 쉼표를 사용하여 축 번호 형식을 천 단위로 어떻게 포맷합니까? (0) | 2020.12.07 |
---|---|
파이썬 Python에서 프로세스 시작 시간 (또는 가동 시간)을 검색하는 방법 (0) | 2020.12.07 |
파이썬 Python 스크립트 내에서 curl 명령 실행 (0) | 2020.12.07 |
파이썬 목록 항목의 발생 횟수를 어떻게 계산할 수 있습니까? (0) | 2020.12.07 |
파이썬 x의 반환 값 = os.system (..) (0) | 2020.12.07 |
댓글