가변 길이 목록이 포함된 Python 시퀀스를 NumPy 배열로 표준 변환하면 객체 유형 배열이 생성됩니다. 다른 데이터 유형을 적용하면 ValueError가 발생합니다. 이 기사에서는 누락된 값을 자리 표시자로 채워서 int32 유형의 조밀한 NumPy 배열을 생성하는 효율적인 방법을 보여줍니다.
가변 길이 목록 시퀀스를 NumPy 배열로 변환하려면 itertools.zip_longest를 활용할 수 있습니다. itertools 모듈의 기능. 이 함수는 목록을 반복하며 가장 짧은 목록이 모두 소진되면 중지됩니다. fillvalue 인수로 지정된 자리 표시자 값으로 긴 목록의 누락된 값을 채웁니다.
예를 들어, 다음과 같은 가변 길이 목록 순서를 고려하세요.
v = [[1], [1, 2]]
밀집된 NumPy를 생성하려면 이 시퀀스의 배열에서 자리 표시자 값이 0인 경우 다음 코드를 사용할 수 있습니다.
<code class="python">import itertools np.array(list(itertools.zip_longest(*v, fillvalue=0))).T</code>
이 코드의 출력은 int32 유형의 NumPy 배열이 되며 누락된 값은 0으로 대체됩니다.
array([[1, 0], [1, 2]])
이 방법은 NumPy 배열로 변환할 때 가변 길이 목록을 처리하는 효율적인 방법을 제공하여 데이터 유형 일관성을 보장하고 누락된 값을 원하는 자리 표시자로 채웁니다.
위 내용은 가변 길이 목록에서 조밀한 NumPy 배열을 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!