NumPy 배열을 파이썬리스트 (예 : [[1,2,3],[4,5,6]]
)로 변환하고 합리적으로 빠르게 수행하려면 어떻게해야합니까?NumPy 배열을 파이썬리스트 구조로 변환 하시겠습니까?
156
A
답변
236
사용 tolist()
이 그들이있을 수 있습니다 어떤 NumPy와 유형의 값을 변환하는 것을
import numpy as np
>>> np.array([[1,2,3],[4,5,6]]).tolist()
[[1, 2, 3], [4, 5, 6]]
주 (예 : np.int32 또는 np.float32) (리스트의)은 "가까운 호환 파이썬 유형"에 . numpy 데이터 형식을 유지하려면 배열에서 list()를 호출하면 numpy scalars의 목록이 만들어집니다. (주석에서 그 지적 Mr_and_Mrs_D 감사합니다.)
37
NumPy와 배열이 가지고 tolist method :
In [1]: arr=np.array([[1,2,3],[4,5,6]])
In [2]: arr.tolist()
Out[2]: [[1, 2, 3], [4, 5, 6]]
3
NumPy와 배열 형태는 2D 경우, NumPy와 .tolist 방법은 중첩 된 배열을 생성합니다.
플랫 목록이 필요한 경우 아래 방법이 효과적입니다.
import numpy as np
from itertools import chain
a = [1,2,3,4,5,6,7,8,9]
print type(a), len(a), a
npa = np.asarray(a)
print type(npa), npa.shape, "\n", npa
npa = npa.reshape((3, 3))
print type(npa), npa.shape, "\n", npa
a = list(chain.from_iterable(npa))
print type(a), len(a), a`
관련 문제
- 1. 블라인드 bytearray를 구조로 변환 하시겠습니까?
- 2. vtkPoints를 numpy 배열로 변환 하시겠습니까?
- 3. 배열을 arraylist로 변환 하시겠습니까?
- 4. 2D numpy 배열 목록을 하나의 3D numpy 배열로 변환 하시겠습니까?
- 5. Linq 식을 기존 쿼리 구조로 변환 하시겠습니까?
- 6. 터플의 목록을 numpy 배열로 변환 하시겠습니까?
- 7. 파이썬리스트/사전에서 값을 대체 하시겠습니까?
- 8. C에서 numpy 배열 형식 변환
- 9. NumPy와 JPype간에 배열을 변환 하시겠습니까?
- 10. numpy 재 배열의 (일부) 2 차원 배열로 변환 하시겠습니까?
- 11. Numpy : 최소한의 작업으로이 배열을 변형하십시오.
- 12. numpy 배열을 벡터 배열로 배열하십시오.
- 13. numpy 배열을 rpy2 행렬로 변환합니다.
- 14. numpy 배열을 회전하는 방법은 무엇입니까?
- 15. 파이썬 외부에서 numpy 배열을 읽는 것
- 16. Numpy C- 확장자의 가변 길이 배열을 반환 하시겠습니까?
- 17. 트리 목록을 계층 구조로 변환
- 18. 기존 web-app 파일 구조를 maven 파일 구조로 변환 하시겠습니까?
- 19. rpy2 : data.frame을 numpy 배열로 변환
- 20. 파이썬리스트 통합
- 21. 파이썬리스트 에러
- 22. numpy 레코드 배열의 열 데이터 유형 변환
- 23. 문자열 배열을 개체로 변환하고 개체를 변환 하시겠습니까?
- 24. VB.NET에서 double 배열을 바이트 배열로 변환 하시겠습니까?
- 25. 유형 배열을 일반 배열로 변환 하시겠습니까?
- 26. 바이트 배열을 비트 배열로 변환 하시겠습니까?
- 27. 해시 배열을 구조체 배열로 변환 하시겠습니까?
- 28. datatable 열의 바이트 배열을 string으로 변환 하시겠습니까?
- 29. MS VC++ 바이트 배열을 BSTR로 변환 하시겠습니까?
- 30. 바이트 배열을 Dictionary 또는 NameValueCollection으로 변환 하시겠습니까?
목록이 float32 인 경우 'tolist'는'floats's로 변환합니다. 그럴 필요는 없습니다. 'list (myarray) '를 사용하면이 문제가 발생하지 않습니다. 왜'tolist'를 선호합니까? –
@Mr_and_Mrs_D는 배열에 수레가 있음에도 불구하고 결과 목록이 정수가되도록 하시겠습니까? 이것은 전혀 다른 질문입니다. 물론 float32 값 임에도 불구하고 모두 필수적이라고 지정해야합니다. 어쨌든, 당신이 그런 상황에 처한 경우,'myarray.astype (np.int32) .tolist()'가 옵션이 될 것이며, 당신이 달성하고자하는 것을 명시 적으로 생각할 것입니다. (그리고 마지막으로'list (array_of_type_float32)'는 내가 시도 할 때 정수를 제공하지 않으므로 ... 당신이 무엇을 요구하는지 모르겠습니다.) –
정수를 언급 한 적이 없습니다 -'float32_array = np.array [0.51764709], np.float32); print (float32_array.tolist()); print (list (float32_array))' –