Python 如何解决KeyError:“;[Index([';t1';],dtype=';object';)]都不在[columns]中;

Python 如何解决KeyError:“;[Index([';t1';],dtype=';object';)]都不在[columns]中;,python,machine-learning,Python,Machine Learning,我正在尝试运行在上找到的用于超参数优化和网格搜索的代码。因此,我的csv文件的内容如下: 所以,我的代码是: import pandas as pd import svm from random import randint from sklearn import svm #read data dataframe=pd.read_csv("treshold1.csv") X = dataframe[['t1']] y = dataframe[['t2']] best_score = 0

我正在尝试运行在上找到的用于超参数优化和网格搜索的代码。因此,我的csv文件的内容如下:

所以,我的代码是:

import pandas as pd
import svm

from random import randint
from sklearn import svm

#read data
dataframe=pd.read_csv("treshold1.csv")


X = dataframe[['t1']]
y = dataframe[['t2']]
best_score = 0  
best_params = {'C': None, 'gamma': None}

#for a preset number of iterations
for i in range(10):
    #try random values for each hyperparameter
    svc = svm.SVC(C=randint(0, 9), gamma=randint(0, 3))
    svc.fit(X, y)
    score = svc.score(Xval, yval)

    if score > best_score:
        best_score = score
        best_params['C'] = C
        best_params['gamma'] = gamma

best_score, best_params 
运行后,我遇到以下错误:

 Traceback (most recent call last):
  File "g:/Maksa/Programiranje/Python/SI/image_quality_assessment-master/common/s.py", line 11, in <module>
    X = dataframe[['t1']]
  File "C:\Users\ftnkm\AppData\Local\Programs\Python\Python36\lib\site-packages\pandas\core\frame.py", line 3001, in __getitem__
    indexer = self.loc._convert_to_indexer(key, axis=1, raise_missing=True)
  File "C:\Users\ftnkm\AppData\Local\Programs\Python\Python36\lib\site-packages\pandas\core\indexing.py", line 1285, in _convert_to_indexer
    return self._get_listlike_indexer(obj, axis, **kwargs)[1]
  File "C:\Users\ftnkm\AppData\Local\Programs\Python\Python36\lib\site-packages\pandas\core\indexing.py", line 1092, in _get_listlike_indexer
    keyarr, indexer, o._get_axis_number(axis), raise_missing=raise_missing
  File "C:\Users\ftnkm\AppData\Local\Programs\Python\Python36\lib\site-packages\pandas\core\indexing.py", line 1177, in _validate_read_indexer
    key=key, axis=self.obj._get_axis_name(axis)
KeyError: "None of [Index(['t1'], dtype='object')] are in the [columns]"
回溯(最近一次呼叫最后一次):
文件“g:/Maksa/Programiranje/Python/SI/image\u quality\u assessment-master/common/s.py”,第11行,在
X=数据帧[['t1']]
文件“C:\Users\ftnkm\AppData\Local\Programs\Python\36\lib\site packages\pandas\core\frame.py”,第3001行,在\uu getitem中__
索引器=self.loc.\u将\u转换为\u索引器(键,轴=1,上升\u缺失=True)
文件“C:\Users\ftnkm\AppData\Local\Programs\Python\36\lib\site packages\pandas\core\index.py”,第1285行,位于转换到索引器中
返回自我。获取列表式索引器(对象、轴、**kwargs)[1]
文件“C:\Users\ftnkm\AppData\Local\Programs\Python\36\lib\site packages\pandas\core\index.py”,第1092行,在\u get\u listlike\u indexer中
keyarr,索引器,o.\u获取\u轴编号(轴),raise\u missing=raise\u missing
文件“C:\Users\ftnkm\AppData\Local\Programs\Python\36\lib\site packages\pandas\core\index.py”,第1177行,在_validate\u read\u indexer中
key=key,axis=self.obj.\u get\u axis\u name(axis)
KeyError:“[Index(['t1'],dtype='object')]中没有一个在[columns]中”

我相信您只需要将列分隔符和十进制分隔符精确到read_csv函数。请注意,默认情况下它需要“,”和“.”。 尝试:
dataframe=pd.read_csv(“treshold1.csv”,sep=“;”,decimal=“,”)

如果输入文件确实以逗号分隔,代码实际上可以运行

但是,由于您得到了一个
KeyError
,很可能您的输入文件
treshold1.csv
不是逗号分隔的


从您的“csv”文件内容截图中猜到,我认为您的输入文件可能是以制表符分隔的。修复它,它应该修复
键错误

请发布错误的整个回溯。请提供一个,以及整个错误消息。您能在csv文件中显示实际内容吗?您可能错误地从电子表格中导出了数据。如果您使用的是MacOS或linux,您可以通过运行
head treshold1.csv
@alan.elkin和AMC来打印内容,我添加了完整的回溯。我添加了csv文件的内容,您可以看到有问题的图像。@Vlada我添加了csv文件的内容,您可以看到有问题的图像。这不允许我们查看文件的内容,它看起来像Excel的屏幕截图。除非绝对必要,否则请不要以图像形式共享信息。请参阅:,。不工作。。。我收到以下错误:ValueError:0.0的gamma值无效。使用“自动”将gamma设置为1/n_功能的值。一般提示1:尝试检查中间步骤,以查看事情是否按照预期进行(检查类型、数据类型、数组形状、打印内容等)在您的情况下,首先确保正确读取CSV文件,检查X和y。一般提示2:试着理解你得到的错误是什么意思您的上一个错误simpy似乎意味着您的参数中不能有零值,但代码中的
randint
会不时给您零-请尝试更正此错误。祝你好运我刚刚用“.”替换了csv文件中的“.”并得到了相同的错误。您是如何生成csv文件的?正如另一位SO用户AMC评论的那样,如果您想获得帮助,您需要向我们展示实际内容。