2015-01-16 4 views
1

다음 코드 AttributeError와 마지막 줄에NumPy와 .A1 배열 항상 존재하지

samplePoints=(rand(samples,variables)-0.5)*10 
output=numpy.zeros((samples,1)) 
for i in range(0,samples): 
    output[i,0]=eq(samplePoints[i,:].T) 
print output.A1; 

충돌 'numpy.ndarray'개체가 어떤 속성을 다른 한편으로는 'A1'

다음 코드가 없습니다 손

samplePoints=(rand(samples,variables)-0.5)*10 
output=numpy.zeros((samples,1)) 
for i in range(0,samples): 
    output[i,0]=eq(samplePoints[i,:].T) 
output=output+rand(samples,1) 
print output.A1; 

아니요. 추가 된 유일한 것은 + rand (sample, 1)뿐입니다. 왜 모든 배열이 A1 필드를 가지고 있지 않습니까 ??? 그리고 모든 타입의 배열에 대해 작동 할 수있는 방법으로 배열의 1 차원 평면화 된 버전을 얻으려면 어떻게해야합니까?

답변

1

예제가 완전하지 않아 실행할 수 없으며 문제가 재현됩니다. 명백하게 충돌이 발생하는 예제는 A1 속성이없는 일반적인 배열을 만듭니다. 작동하는 예제에서는 numpy를 만듭니다. matrix. 행렬의 A1 attribute은 납작한 numpy 배열을 반환합니다.

output.A1 대신에 np.ravel(output)을 쓸 수 있습니다. 그것은 보통 numpy 배열과 numpy 행렬에 대해 작동해야합니다.