>  기사  >  백엔드 개발  >  가변 길이 목록에서 조밀한 NumPy 배열을 만드는 방법은 무엇입니까?

가변 길이 목록에서 조밀한 NumPy 배열을 만드는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-04 08:32:01903검색

How to Create a Dense NumPy Array from Variable-Length Lists?

가변 길이 목록에서 조밀한 NumPy 배열 생성

가변 길이 목록이 포함된 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.