TypeError:不可用类型

时间:2015-12-11 03:12:22

标签: scikit-learn sklearn-pandas

我写了一小段代码,用sklearn进行线性回归。

我创建了一个2列的csv文件(列名为X,Y带有一些数字)和 当我读到文件时,我看到内容被正确读取 - 如下所示。

但是,我得到了#34;不可用的类型&#34;我尝试使用命令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] <script>等来引用列时出错。

当我尝试使用X作为响应时,Y作为sklearn线性回归的预测因子,我得到的值如下所示。

我在线查看但无法弄清楚我的代码或文件有什么问题。请帮忙。

head = """
    <script>
        function work()
        {
            alert('bla');
        }
    </script>
"""


template = """
    {head}

    Success rate is {value:.2%} percent.
"""

2 个答案:

答案 0 :(得分:7)

如果要使用切片语法从数据帧中进行选择,则必须使用

data.iloc[:,:1]

对于第二个问题,X输入需要是一个矩阵,而不是一个向量,所以要么包含更多列,要么使用语法:

model.fit(pd.DataFrame(datafile.X), datafile.Y)

答案 1 :(得分:0)

切片pandas数据框的另一个较短选项是:

 data.ix[:,:1]