TypeError: unhashable type
TypeError: unhashable type
我写了一小段代码来使用 sklearn 进行线性回归。
我创建了一个 2 列的 csv 文件(列名 X、Y 和一些数字)和
当我读取文件时,我发现内容已正确读取 - 如下所示。
但是,当我尝试使用命令 datafile[:,:]
或 datafile[:,-1]
等来引用列时,出现 "unhashable type" 错误。
当我尝试在 sklearn 的线性回归中使用 X 作为响应,Y 作为预测变量时,出现如下所示的值错误。
我上网看了看,但无法弄清楚我的代码或文件有什么问题。请帮忙。
import pandas as pd
datafile=pd.read_csv('samplelinear.csv')
datafile
X Y
0 0 1.440000
1 1 33.220000
. . .
print datafile.__class__
<class 'pandas.core.frame.DataFrame'>
datafile[:,:]
TypeError: unhashable type
datafile[:,:1]
TypeError: unhashable type
from sklearn.linear_model import LinearRegression
model=LinearRegression()
model.fit(datafile.X,datafile.Y)
ValueError: Found arrays with inconsistent numbers of samples: [ 1 14]
如果你想使用数据帧的切片语法select,你必须使用
data.iloc[:,:1]
对于你的第二个问题,X 输入需要是一个矩阵,而不是一个向量,所以要么包括更多的列,要么使用语法:
model.fit(pd.DataFrame(datafile.X), datafile.Y)
切片 pandas 数据框的另一个较短选项是:
data.ix[:,:1]
我写了一小段代码来使用 sklearn 进行线性回归。
我创建了一个 2 列的 csv 文件(列名 X、Y 和一些数字)和 当我读取文件时,我发现内容已正确读取 - 如下所示。
但是,当我尝试使用命令 datafile[:,:]
或 datafile[:,-1]
等来引用列时,出现 "unhashable type" 错误。
当我尝试在 sklearn 的线性回归中使用 X 作为响应,Y 作为预测变量时,出现如下所示的值错误。
我上网看了看,但无法弄清楚我的代码或文件有什么问题。请帮忙。
import pandas as pd
datafile=pd.read_csv('samplelinear.csv')
datafile
X Y
0 0 1.440000
1 1 33.220000
. . .
print datafile.__class__
<class 'pandas.core.frame.DataFrame'>
datafile[:,:]
TypeError: unhashable type
datafile[:,:1]
TypeError: unhashable type
from sklearn.linear_model import LinearRegression
model=LinearRegression()
model.fit(datafile.X,datafile.Y)
ValueError: Found arrays with inconsistent numbers of samples: [ 1 14]
如果你想使用数据帧的切片语法select,你必须使用
data.iloc[:,:1]
对于你的第二个问题,X 输入需要是一个矩阵,而不是一个向量,所以要么包括更多的列,要么使用语法:
model.fit(pd.DataFrame(datafile.X), datafile.Y)
切片 pandas 数据框的另一个较短选项是:
data.ix[:,:1]