2017-05-17 1 views
0

numpy 배열을 다른 numpy 배열에 추가하려하지만 다음 오류가 발생합니다.ValueError : 배열을 다른 배열에 추가 할 때 모양 (28)에서 모양 (28,0)으로 입력 배열을 브로드 캐스팅 할 수 없습니다.

ValueError: could not broadcast input array from shape (28) into shape (28,0) 

이 내 코드입니다 :

sample = np.fabs(sample - avg) 
counter = np.arange(1,len(sample)+1) 
np.append(sample, counter, axis=1) 

어떻게이 문제를 해결할 수 있습니까?

+0

들어. 그러나 문제는 어디에 있습니까? 'sample-avg' 부분에서? 그렇다면이 두 변수의 근원과 모양은 무엇입니까? '(28,0)'모양의 배열은 의심 스럽다. 그것은 비어 있습니다. – hpaulj

+0

내 코드를 편집했습니다. 문제는 다른 행에 열을 추가 할 때 세 번째 행에 있습니다. –

+0

'array.append'에서 벗어나십시오. 사람들은 종종 그것을 오용합니다. 목록 추가는 더 좋거나 모든 사마귀와 연결됩니다. – hpaulj

답변

0

이는 모양 (28,0)이있는 배열이 실제로 비어 있음을 나타냅니다. 즉, 샘플 및 평균을 생성 한 업스트림 처리를 처리하고 이러한 개체의 내용을 확인해야 할 수 있습니다. I는 다음과이 복제 할 수 : 시작은`as_matrix` 방법 드롭

import numpy as np 
from numpy import random 
a = random.rand(28) 
b = random.random((28,0)) 
print(a.shape, b.shape) 

(28) (28, 0)

print(a + b) 
--------------------------------------------------------------------------- 
ValueError        Traceback (most recent call last) 
<ipython-input-16-f1c1de818ef8> in <module>() 
     5 print(a.shape, b.shape) 
     6 
----> 7 print(a + b) 
     8 
     9 print(b) 

ValueError: operands could not be broadcast together with shapes (28,) (28,0) 

print(b) 

[]

관련 문제