Python 가변 길이 목록을 조밀한 NumPy 배열로 효율적으로 변환
가변 길이 Python 목록을 NumPy 배열 결과로 직접 변환 이는 바람직하지 않을 수 있는 "객체" 유형의 배열입니다. 또는 np.array(v, dtype=np.int32)를 사용하여 특정 유형을 강제로 적용하려고 하면 배열에 시퀀스가 존재하기 때문에 예외가 발생합니다.
따라서 다음과 같은 조밀한 NumPy 배열을 생성하려면 특정 데이터 유형(예: int32)에 누락된 값을 자리 표시자로 채우는 동안 itertools.zip_longest 함수를 활용할 수 있습니다.
예를 들어 입력 시퀀스 v = [[1], [1, 2 ]], 자리 표시자가 0인 itertools.zip_longest를 사용하면 다음과 같이 밀도가 높은 NumPy 배열을 효율적으로 얻을 수 있습니다.
<code class="python">import itertools np.array(list(itertools.zip_longest(*v, fillvalue=0))).T</code>
이렇게 하면 원하는 출력이 생성됩니다.
array([[1, 0], [1, 2]])
참고 Python 2의 경우 itertools.izip_longest를 대신 사용하세요.
위 내용은 가변 길이 Python 목록을 자리 표시자를 사용하여 조밀한 NumPy 배열로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!