2017-02-21 1 views
2

numpy을 사용하여 벡터화를하는 것에 대해 혼란 스럽습니다. 특히numpy를 사용하는 파이썬 배열

,이 형태의 매트릭스를 가지고 : 유형의 이 <type 'list'>

[[0.0, 0.0, 0.0, 0.0], [0.02, 0.04, 0.0325, 0.04], [1, 2, 3, 4]]

가 어떻게 그것을 사용하여 다음 NumPy와 같이해야합니까?

np.array([[0.0, 0.0, 0.0, 0.0], [0.02, 0.04, 0.0325, 0.04], [1, 2, 3, 4]]) 

그러나 나는 매우 긴 행렬이, 난 그냥 그렇게 각 행을 입력 할 수 없습니다 :

[[ 0.0 0.0 0.0  0.0 ] 
[ 0.02 0.04 0.0325 0.04 ] 
[ 1  2  3  4 ]] 

예, 내가 사용하여 수행 할 수 있습니다 알고 있습니다. 매우 긴 매트릭스가있는 경우 어떻게 처리 할 수 ​​있습니까?

splitted = [l[i:i + n] for i in range(0, len(array), n)] 

을 그에서 매트릭스합니다 :

+0

np.array ([0.0, 0.0, 0.0, 0.0], [0.02, 0.04, 0.0325, 0.04, [1, 2, 3, 4]) – Erotemic

+0

하이 Erotemic하면 참조하세요 수 내 업데이트? – wrek

+0

입력하고 싶지 않은 행렬은 어떻게 구합니까? 어떤 형태로 존재합니까 (예 : 배열, CSV 파일, 생성기 함수의 배열이 있습니까?)? – Marat

답변

1

당신이 큰 배열로 시작 가정, 왜 적당한 크기의 배열로 (n을)를 분할하지

np.array(splitted) 
+0

이 양식을 훨씬 빨리 구하려면'np.array (A) .reshape'를 사용할 수 있습니다. – languitar

1

당신이 만약을 파이썬 객체 A에 저장된 목록의 목록을 가지고 있다고 말하면 A 요소를 사용하여 numpy 배열을 반환하는 np.array(A)을 호출하면됩니다. 그렇지 않으면 데이터로드 방법을 명확히하기 위해 현재 데이터가 어떤 형식인지 지정해야합니다.

2

이것은 목록 유형의 행렬이 아니며 목록이 포함 된 목록입니다. 당신은 매트릭스로 생각할 수 있지만, 파이썬 그냥이 모양 (3,4)으로, 2 차원 배열을 생성

arr = np.array([[0.0, 0.0, 0.0, 0.0], [0.02, 0.04, 0.0325, 0.04], [1, 2, 3, 4]]) 

alist = [[0.0, 0.0, 0.0, 0.0], [0.02, 0.04, 0.0325, 0.04], [1, 2, 3, 4]] 

arr = np.array(alist) 

작품 똑같이 목록과 DTYPE 부동이다

In [212]: arr = np.array([[0.0, 0.0, 0.0, 0.0], [0.02, 0.04, 0.0325, 0.04], [1, 2, 3, 4]]) 

In [213]: arr 
Out[213]: 
array([[ 0. , 0. , 0. , 0. ], 
     [ 0.02 , 0.04 , 0.0325, 0.04 ], 
     [ 1. , 2. , 3. , 4. ]]) 
In [214]: print(arr) 
[[ 0.  0.  0.  0. ] 
[ 0.02 0.04 0.0325 0.04 ] 
[ 1.  2.  3.  4. ]] 
관련 문제