代码如下:
m, b = np.polyfit(df['Combined Length'], df['Mean Runtime'], 1)
该行产生错误:' TypeError:必须是str,而不是float'。为什么要一个字符串?如果我输入(2,3,4)和(4,6,8)它可以正常工作。如果将两个pandas列转换为ndarrays,它将不起作用。
初始转换为数组时会出现问题。
答案 0 :(得分:1)
将pd.to_numeric应用于列以解决问题。它们属于对象类型。我不确定为什么错误消息要求'str not float'。
答案 1 :(得分: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.])
你们有什么不同?