Python에서 NumPy 어레이를 목록으로 변환

Manav Narula 2023년10월10일
  1. tolist()메서드를 사용하여 NumPy 배열을 목록으로 변환
  2. for루프를 사용하여 NumPy 배열을 Python의 목록으로 변환
Python에서 NumPy 어레이를 목록으로 변환

목록과 배열은 Python에서 가장 기본적이고 자주 사용되는 컬렉션 객체 중 두 가지입니다.

둘 다 변경 가능하며 공통 이름으로 요소 모음을 저장하는 데 사용되며 모든 요소에는 액세스하는 데 사용할 수있는 특정 위치가 있습니다.

그러나 몇 가지 주목할만한 차이점이 있습니다. 목록은 이미 Python에 내장되어 있지만 배열의 경우arrays또는NumPy모듈을 가져 와서 사용하기 전에 배열을 선언해야합니다. 또한 배열은 데이터를 메모리에보다 효율적으로 저장하고 수학 연산에 많이 사용됩니다.

이 튜토리얼에서는 numpy 배열을 목록으로 변환합니다.

tolist()메서드를 사용하여 NumPy 배열을 목록으로 변환

NumPy 배열의tolist()메소드는 numpy 배열을 목록으로 변환 할 수 있습니다.

예를 들면

import numpy as np

oned = np.array([[1, 2, 3]])
twod = np.array([[1, 2, 3], [4, 5, 6]])

print(oned.tolist())
print(twod.tolist())

출력:

[[1, 2, 3]]
[[1, 2, 3], [4, 5, 6]]

이 메서드는 전체 배열을 하나의 요소로 취급합니다. 그렇기 때문에 2D 배열과 함께 사용할 때 목록 목록을 반환합니다.

이를 방지하기 위해flatten()또는ravel()메소드와 함께tolist()를 사용할 수 있습니다.이 메소드는 N 차원 배열을 선형 1 차원 배열로 변환 할 수 있습니다. 이 두 방법 모두 동일한 기능을 수행합니다. 차이점은ravel()메소드는 배열의 참조보기를 반환하고 원래 배열에 영향을 미치는 반면flatten()메소드는 배열의 복사본에서 작동한다는 것입니다. 이로 인해ravel()함수가 더 빠른 것으로 간주되고 더 적은 메모리를 차지합니다.

다음 코드는 이러한 함수의 사용을 보여줍니다.

import numpy as np

oned = np.array([1, 2, 3])
twod = np.array([[1, 2, 3], [4, 5, 6]])

print(oned.flatten().tolist())
print(twod.flatten().tolist())


print(oned.ravel().tolist())
print(twod.ravel().tolist())

출력:

[1, 2, 3]
[1, 2, 3, 4, 5, 6]
[1, 2, 3]
[1, 2, 3, 4, 5, 6]

for루프를 사용하여 NumPy 배열을 Python의 목록으로 변환

이것은 프로그래밍이 처음이거나 최종 목록을 사용자 정의하려는 사람을위한 기본적인 방법입니다. 배열을 반복하고 각 요소를 개별적으로 빈 목록에 추가합니다. 다음 코드는이를 구현합니다.

import numpy as np

arr = np.array([1, 2, 3])
lst = []

for x in arr:
    lst.append(x)

print(lst)

출력:

[1, 2, 3]
작가: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

관련 문장 - Python Array