오류

2017-04-22 4 views
0

코드에 맞게 : np.polyfit에 특히 보인다 5 라인에 문제가있다,오류

i = text_i.get() 
r = text_r.get() 
i = i.split(", ") 
r = r.split(", ")   

fit = np.polyfit(i,r,1) 
fit_fn = np.poly1d(fit) 
plt.plot(i,r, 'yo', i, fit_fn(i), '--k') 
plt.ilim(0, 5) 
plt.rlim(0, 12) 

오류 메시지

fit = np.polyfit(i,r,1) 
    File "C:\Python27\lib\site-packages\numpy\lib\polynomial.py", line 546, in polyfit 
    x = NX.asarray(x) + 0.0 
TypeError: ufunc 'add' did not contain a loop with signature matching types 
dtype('S32') dtype('S32') dtype('S32') 

무엇을 찾아주세요 코드에 문제가 있습니까?

답변

1

np.polyfit(x,y,1)은 인수로 숫자 데이터 목록 또는 배열 xy이 필요합니다. 그러나 입력하는 내용은 약간의 문자열입니다. 따라서 해당 문자열을 분할하고 각각의 요소를 숫자로 변환해야 polyfit으로 전달해야합니다. 시도 :

i = np.array(list(map(float, i.split(", ")))) 
+0

나는 것을 시도했다, 그러나 지금 다음과 같은 오류가 -------- plt.ilim (0, 5) AttributeError : '모듈'개체가 어떤 속성이없는 'ILIM' –

+0

오류는 꽤 설명 적입니다. 그렇지 않습니까? pyplot에는'ilim'이라는 함수가 없습니다. 당신이이 이름을 발명 한 이래로 나는 그 명령으로 당신이 실제로하고 싶은 것을 알 수 없습니다. – ImportanceOfBeingErnest

+0

알았어 .. 고마워 .. 지금 당장! :) –