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 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