熊猫线性回归模块问题

时间:2020-04-27 23:32:45

标签: python pandas

我用以下代码创建了一个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').

是什么导致此错误,我该如何解决?

谢谢。

1 个答案:

答案 0 :(得分:0)

您需要删除空值才能进行预测!

要检查您的数据是否包含空值?

data.isnull()

您可以通过以下方式删除空值:

data.dropna()

您还可以用字符串值'Missing'替换空值:

data.fillna('Missing')