>  기사  >  백엔드 개발  >  numpy를 목록으로 변환: 데이터 처리 효율성을 향상시키는 팁

numpy를 목록으로 변환: 데이터 처리 효율성을 향상시키는 팁

WBOY
WBOY원래의
2024-01-19 10:11:16911검색

numpy를 목록으로 변환: 데이터 처리 효율성을 향상시키는 팁

데이터 처리에서는 numpy 배열을 목록으로 변환해야 하는 경우가 많습니다. Numpy 배열은 매우 강력한 데이터 구조이지만 때로는 추가 작업을 위해 목록을 사용해야 할 때도 있습니다. 동시에 numpy 배열과 목록 간의 변환이 필요한 일부 작업도 있습니다. 이번 글에서는 numpy 배열을 리스트로 변환하는 방법을 소개하고 구체적인 코드 예시를 제공하겠습니다.

1. tolist() 메소드를 사용하세요.

numpy에는 tolist() 메소드가 제공되는데, numpy를 간단히 리스트로 변환할 수 있습니다. 다음은 예입니다.

import numpy as np

a = np.array([[1,2,3], [4,5,6]])
a_list = a.tolist()

print(a_list)

출력 결과:

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

tolist() 메서드는 매우 간단하지만 상대적으로 비효율적입니다. 더 큰 배열을 처리해야 하는 경우 tolist() 메서드가 매우 느려질 수 있습니다.

2. 캐시 방법을 사용하세요

대규모 numpy 배열을 처리할 때 효율성을 높이고 싶다면 캐시 방법을 사용할 수 있습니다. 즉, numpy의 요소를 목록에 하나씩 추가합니다. 다음은 예시입니다:

import numpy as np

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

# np.ndarray.flat 属性将返回一个迭代器,遍历数组中的所有元素
a_list = [item for item in a.flat]

print(a_list)

출력 결과:

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

이 방법을 사용하면 numpy와 list 사이의 잦은 변환을 방지하여 효율성을 높일 수 있습니다.

3. reshape 메소드를 사용하세요

reshape 메소드는 numpy 배열을 리스트와 같은 모양으로 재구성할 수 있으며, flatten 메소드로 리스트를 확장할 수 있습니다. 다음은 예시입니다:

import numpy as np

a = np.array([[1,2,3], [4,5,6]])
a_reshape = a.reshape(-1)
a_list = a_reshape.tolist()

print(a_list)

출력 결과:

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

reshape 메소드는 배열을 1차원 배열로 변환한 후 tolist() 메소드를 사용하여 리스트로 변환할 수 있습니다.

4. list() 메소드를 사용하세요

list() 메소드를 사용하면 numpy 배열을 리스트로 직접 변환할 수 있지만 배열의 크기에 주의해야 합니다. 이 방법은 차원이 1인 경우에만 작동합니다.

import numpy as np

a = np.array([1,2,3])
a_list = list(a)

print(a_list)

출력 결과:

[1, 2, 3]

배열의 차원이 1이 아닌 경우 다른 방법을 사용해야 합니다.

요약

위는 numpy 배열을 리스트로 변환하는 여러 가지 방법인데, 그 중 tolist() 방법이 가장 일반적인 방법이지만 효율성이 상대적으로 낮습니다. 대규모 배열을 처리할 때 캐시 방법과 reshape 방법을 사용하면 효율성이 향상될 수 있습니다. 우리는 우리 자신의 필요에 따라 가장 적합한 방법을 선택해야 합니다.

전체 코드 첨부:

import numpy as np

# tolist()方法
a = np.array([[1,2,3], [4,5,6]])
a_list = a.tolist()
print(a_list)

# 缓存方法
a = np.array([[1,2,3], [4,5,6]])
a_list = [item for item in a.flat]
print(a_list)

# reshape方法
a = np.array([[1,2,3], [4,5,6]])
a_reshape = a.reshape(-1)
a_list = a_reshape.tolist()
print(a_list)

# list()方法
a = np.array([1,2,3])
a_list = list(a)
print(a_list)

출력 결과:

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

위 내용은 numpy를 목록으로 변환: 데이터 처리 효율성을 향상시키는 팁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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