2017-12-28 3 views
-2

numpy 배열을 list와 연결하고자합니다. 이 같은 :numpy 배열을리스트로 연결

trainClass = np.ones(len(allDataList[0])).tolist() 
trainArray = tfIdfsListTrain.toarray() 
np.concatenate((trainArray, trainClass)) 

하지만 난 그것을 할 방법을 모르겠어요.

+2

배열이 'numpy.array'입니까? 귀하의 목록의 이름은'list'입니까? 샘플 데이터를 제공하십시오. 변수 이름을'list'라고하지 마십시오. –

+0

무엇이 문제입니까? 리스트를 배열로 변환하여'concatenate'에 전달하십시오. 아니면 당신을 위해'연결 '하자. 오류가있는 경우 모양과 치수의 불일치와 관련이 있습니다. – hpaulj

+0

배열의 @hpaulj 모양은 (2500, 8600)이며 목록의 len은 2500입니다. – MahsaSeifikar

답변

1

목록과 같은 사운드는 배열로 바뀌면 올바른 크기의 치수를 갖지 않습니다. 나에게 설명하자

In [323]: arr = np.arange(12).reshape(3,4) 
In [324]: alist = list(range(3)) 
In [325]: np.concatenate((arr,alist)) 
--------------------------------------------------------------------------- 
ValueError        Traceback (most recent call last) 
<ipython-input-325-9b72583c40de> in <module>() 
----> 1 np.concatenate((arr,alist)) 

ValueError: all the input arrays must have same number of dimensions 
In [326]: arr.shape 
Out[326]: (3, 4) 

concatenate가 배열로 모든 목록 입력을 전환 :

In [327]: np.array(alist).shape 
Out[327]: (3,) 

arr은 2D이기 때문에,이 배열도 내지 2d해야

: 그것은 쉽게

In [328]: np.array(alist)[:,None].shape 
Out[328]: (3, 1) 
In [329]: np.concatenate((arr, np.array(alist)[:,None]), axis=1) 
Out[329]: 
array([[ 0, 1, 2, 3, 0], 
     [ 4, 5, 6, 7, 1], 
     [ 8, 9, 10, 11, 2]]) 

마지막 차원에서 (3,4) 배열과 (3,1) 배열을 연결합니다.

나는 많은 사람들이 같은 모양과 크기로 NumPy와 배열의 몇 가지 기본 사항을 이해하지 않고 기계 학습 코드 (tensorflow, keras, sklearn)로 점프 인상을 얻을.

+0

당신의 마지막 코멘트는 사실입니다. 이전에 모든 것을 검은 상자로 사용하여 깊은 열렬한 열풍에 빠져 들었습니다.하지만 그곳에는 운이 좋게도 나에게 단계별로 안내하는 좋은 스승이있었습니다. 나는 깊은 학습에 뛰어 들기 전에 기본을 완전히 배우고 있습니다. –

관련 문제