当前位置: 首页 > 面试题库 >

iloc给出“ IndexError:单个位置索引器超出范围”

海宁
2023-03-14
问题内容

我正在尝试使用以下方法对一些信息进行编码以读入机器学习模型

import numpy as np
import pandas as pd
import matplotlib.pyplot as py

Dataset = pd.read_csv('filename.csv', sep = ',')

X = Dataset.iloc[:,:-1].values
Y = Dataset.iloc[:,18].values

from sklearn.preprocessing import LabelEncoder, OneHotEncoder
labelencoder_X = LabelEncoder()
X[:, 0] = labelencoder_X.fit_transform(X[:, 0])
onehotencoder = OneHotEncoder(categorical_features = [0])
X = onehotencoder.fit_transform(X).toarray()

但是我收到一个错误,内容为

IndexError: single positional indexer is out-of-bounds

问题答案:

此错误是由以下原因引起的:

Y = Dataset.iloc[:,18].values

此处的索引超出范围很可能是因为您的数据集中的列少于19个,因此第18列不存在。您提供的以下代码根本不使用Y,因此您现在可以注释掉此行。



 类似资料:
  • ~/anaconda3/lib/python3.6/site-包/熊猫/核心/indexing.py在getitem1371 1372maybe_callable=com._apply_if_callable(key,self.obj)- ~/anaconda3/lib/python3.6/site-包/熊猫/核心/indexing.py在_getitem_axis(自,键,轴)1828 1829

  • 错误 ()1中的索引器错误回溯(最近一次调用)---- ~/Documents/PhD/IntelliSys19/journal/ColdStart_实验/相似性_函数。用户中u2的装饰矩阵中的py()145:146评级1=np。nan_to_num(np.array(user_ratings_matrix.iloc[u1-1].values))-- ~/anaconda3/lib/python3

  • 问题内容: 我在以下Python代码部分遇到问题: 具体的错误如下: 我已经进行了一些研究,似乎在运行脚本时,可能在命令行中需要一个参数,但是我不确定要添加什么或可能是什么问题!我也搜索了该站点,但是我发现的所有解决方案都没有评论,并且/或者没有像我一样包含开放功能。 任何帮助是极大的赞赏。 问题答案: 表示执行脚本所使用的命令行选项。 是您正在运行的脚本的名称。所有其他选项都包含在中。 您正在尝

  • 问题内容: 我目前正在从一本名为《 Python绝对入门》(第三版)的书中学习python。书中有一个练习,概述了一个子手游戏的代码。我遵循了这段代码,但是我在程序的中间不断返回错误。 这是导致问题的代码: 这也是它返回的错误: 有人可以帮助我解决出现的问题以及如何解决该问题吗? 编辑:我像这样初始化so_far变量: 问题答案: 您好像缩进得太多了。尝试这个:

  • 问题内容: 因此,我正在编写一个简单的程序来输入字符串并计算总数。的米 所以,这是我的代码 where 和str是我接受过的字符串,但是此错误不断出现 这是什么错误以及如何将其删除? 问题答案: 字符串,有效索引从0到n-1; 更改 至

  • 问题内容: 我已经开始处理我的第一个Java程序,它是一个简单的计算器,但是我得到一个错误,声称我的数组超出范围。我尝试对其进行调试,以了解这样做的原因和原因,并遵循纸上的代码,两者均显示了我期望和期望的结果。因此,我看不到问题出在哪里。代码不完整。 根据调试器,此行出现错误: 这是我当前拥有的代码的主要部分: 这是我收到的错误消息: 问题答案: 当等于中的最后一个元素索引时,则将大于最后一个元素