我用以下代码创建了一个DataFrame:
import pandas as pd
from pandas import DataFrame
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
data = pandas.read_csv('cost_revenue_clean_v1.csv')
data.describe()
X = DataFrame(data,columns = ['production_budget_usd'])
y = DataFrame(data, columns = ['worldwide_gross_usd'])
plt.figure(figsize = (10,6))
plt.scatter(X,y, alpha = 0.3)
plt.title('Film cost vs Global Revenue')
plt.xlabel('Production Budget $')
plt.ylabel('Worldwide Gross $')
plt.xlim(0,450000000)
plt.ylim(0,3000000000)
plt.show()
regression = LinearRegression()
regression.fit(X, y)
一切正常,直到我添加最后一行:regression.fit(X,y),这时我看到一条错误消息:
ValueError: Input contains NaN, infinity or a value too large for dtype('float64').
是什么导致此错误,我该如何解决?
谢谢。
答案 0 :(得分:0)
您需要删除空值才能进行预测!
要检查您的数据是否包含空值?
data.isnull()
您可以通过以下方式删除空值:
data.dropna()
您还可以用字符串值'Missing'替换空值:
data.fillna('Missing')