尽管先前有代码,但仍存在关键错误

时间:2018-11-27 01:30:30

标签: python keyerror

predictors = ['gender','SeniorCitizen','Partner', 'Dependents','tenure','PhoneService',\
         'MultipleLines','InternetService','OnlineSecurity','OnlineBackup','DeviceProtection',\
         'TechSupport','StreamingTV','StreamingMovies','Contract','PaperlessBilling',\
         'PaymentMethod','MonthlyCharges','TotalCharges']

这行代码来自我为学校作业创建决策树而必须执行的项目。我从另一个项目复制并粘贴了该行,仅更改了变量名,因此它应该可以工作。我已经针对我正在使用的数据文件仔细检查了代码中的变量名称。但是由于某种原因,我遇到了这个错误:

KeyError: "['gender' 'Partner' 'Dependents' 'PhoneService' 'MultipleLines'\n 'InternetService' 'OnlineSecurity' 'OnlineBackup' 'DeviceProtection'\n 'TechSupport' 'StreamingTV' 'StreamingMovies' 'Contract'\n 'PaperlessBilling' 'PaymentMethod'] not in index"

我知道数据在我正在使用的.csv文件中,并且我知道它以前在k-nearest-neighbor方法中的同一代码中工作过。

编辑:这是Python不喜欢的行:

dt.fit(training[predictors],training['Churn'])

这是dt的定义:

dt = tree.DecisionTreeClassifier(criterion='entropy')

编辑2:这是此列表中所有虚拟变量的列表

data = pandas.get_dummies(data, columns=['gender','SeniorCitizen','Partner','Dependents','PhoneService','MultipleLines', 'InternetService', \
   'OnlineSecurity','OnlineBackup', 'DeviceProtection', 'TechSupport', 'StreamingTV', \
   'StreamingMovies', 'Contract', 'PaperlessBilling', 'PaymentMethod'])

0 个答案:

没有答案