0
m, b = np.polyfit(df['Combined Length'], df['Mean Runtime'], 1)
線產生錯誤:「類型錯誤:必須海峽,不浮動」。爲什麼它需要一個字符串?如果我輸入(2,3,4)和(4,6,8),它工作正常。如果兩個熊貓列轉換爲紅線,它也不起作用。
初始轉換爲數組時發生問題。
m, b = np.polyfit(df['Combined Length'], df['Mean Runtime'], 1)
線產生錯誤:「類型錯誤:必須海峽,不浮動」。爲什麼它需要一個字符串?如果我輸入(2,3,4)和(4,6,8),它工作正常。如果兩個熊貓列轉換爲紅線,它也不起作用。
初始轉換爲數組時發生問題。
它與這個玩具數據框:
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.])
如何是你的有什麼不同?
將pd.to_numeric應用於列解決了問題。他們是對象類型的。我不確定爲什麼錯誤消息要求'str不浮動'。
TypeError發生什麼功能? 只需閱讀堆棧跟蹤。 – YSelf
'polyfit'的第一件事是'np.asarray(X)'和'Y' - 也就是將2個輸入轉換爲數組。 'np.asarray(df ['Combined Length'])'工作嗎?如果不是,請查看從'df'列中提取數組的正確方法。 – hpaulj