2017-11-25 127 views
0

代碼如下:polyfit,類型錯誤:必須海峽,不浮動

m, b = np.polyfit(df['Combined Length'], df['Mean Runtime'], 1) 

線產生錯誤:「類型錯誤:必須海峽,不浮動」。爲什麼它需要一個字符串?如果我輸入(2,3,4)和(4,6,8),它工作正常。如果兩個熊貓列轉換爲紅線,它也不起作用。

初始轉換爲數組時發生問題。

+0

TypeError發生什麼功能? 只需閱讀堆棧跟蹤。 – YSelf

+0

'polyfit'的第一件事是'np.asarray(X)'和'Y' - 也就是將2個輸入轉換爲數組。 'np.asarray(df ['Combined Length'])'工作嗎?如果不是,請查看從'df'列中提取數組的正確方法。 – hpaulj

回答

0

它與這個玩具數據框:

In [441]: df = pandas.DataFrame(np.arange(12).reshape(3,4),columns=list('ABCD') 
    ...:) 
In [442]: df 
Out[442]: 
    A B C D 
0 0 1 2 3 
1 4 5 6 7 
2 8 9 10 11 
In [443]: np.asarray(df['C']) 
Out[443]: array([ 2, 6, 10]) 
In [444]: np.polyfit(df['B'],df['C'],1) 
Out[444]: array([ 1., 1.]) 

如何是你的有什麼不同?

0

將pd.to_numeric應用於列解決了問題。他們是對象類型的。我不確定爲什麼錯誤消息要求'str不浮動'。

相關問題