修复我的脚本中的浮点错误(需要帮助)Python


# Python code to demonstrate SQL to fetch data.
# importing the module
import sqlite3
import numpy as np
import pandas as pd
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
from scipy.stats import chisquare
# connect withe the myTable database
connection = sqlite3.connect(r"C:UsersAidanDesktopCEP_DB.db")
# cursor object
crsr = connection.cursor()

dog= crsr.execute("Select s, ei, ki FROM cep_db_lite1_vc WHERE s IN ('d')")
ans= crsr.fetchall() 
dogData = np.array(ans)
FdogData= dogData[:, [1,2]]
x, y = FdogData[:,0], FdogData[:,1]
# Reshaping
x, y = x.reshape(-1,1), y.reshape(-1, 1)
# Linear Regression Object 
lin_regression = LinearRegression()
# Fitting linear model to the data
lin_regression.fit(x,y)
# Get slope of fitted line
m = lin_regression.coef_
# Get y-Intercept of the Line
b = lin_regression.intercept_
# Get Predictions for original x values
# you can also get predictions for new data
predictions = lin_regression.predict(x)
chi= chisquare(predictions, y)
# following slope intercept form 
print ("formula: y = {0}x + {1}".format(m, b)) 
print(chi)
# Plot the Original Model (Black) and Predictions (Blue)
plt.scatter(x, y,  color='black')
plt.plot(x, predictions, color='blue',linewidth=3)
plt.show()

存储在数组中的数据:

[['d' '-72.70' '3.20']
['d' '-74.81' '']
['d' '-87.60' '5.50']
['d' '-91.38' '']
['d' '-71.80' '']
['d' '-73.10' '']
['d' '-81.20' '']
['d' '-81.40' '']
['d' '-75.70' '5.70']
['d' '-83.50' '5.10']
['d' '-73.90' '']
['d' '-82.60' '']
['d' '-77.30' '']
['d' '-85.10' '']
['d' '-79.70' '']
['d' '-78.70' '']
['d' '-77.90' '']
['d' '-76.80' '']
['d' '-83.80' '']
['d' '-83.90' '']
['d' '-82.00' '4.90']
['d' '-80.00' '4.80']]

错误输出/回溯

runfile('C:/Users/Aidan/.spyder-py3/temp.py', wdir='C:/Users/Aidan/.spyder-py3'( 回溯(最近一次调用(:

文件 ",第 1 行,在 runfile('C:/Users/Aidan/.spyder-py3/temp.py', wdir='C:/Users/Aidan/.spyder-py3'(

文件 "C:\Users\Aidan\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", 第 705 行,在运行文件中 可执行文件(文件名,命名空间(

文件 "C:\Users\Aidan\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", 第 102 行,在 execfile 中 exec(compile(f.read((, filename, 'exec'(, namespace(

文件 "C:/Users/Aidan/.spyder-py3/temp.py",第 32 行,在 lin_regression.fit(x,y(

文件 "C:\Users\Aidan\Anaconda3\lib\site-packages\sklearn\linear_model\base.py", 489 行,适合 复制=self.copy_X, sample_weight=sample_weight(

文件 "C:\Users\Aidan\Anaconda3\lib\site-packages\sklearn\linear_model\base.py", 169号线,_preprocess_data y = np.asarray(y, dtype=X.dtype(

文件 "C:\Users\Aidan\Anaconda3\lib\site-packagesumpy\coreumeric.py", 492行,在阿斯雷 返回数组(a, dtype, copy=False, order=order(

值错误:无法将字符串转换为浮点数:


如何修复浮动错误?

问题是''无法转换为浮点数。在应用lin_regression.fit(x,y)之前,您需要清理数据。

最新更新