类型错误:无法使用<类"int"的这些索引器 [2] 对类 'pandas.core.indexes.base.Index'> 执行切片索引<>



我一直在学习如何在Python中执行PCA,并从使用iris数据集的教程开始(包含有限的功能(。在这段代码中,它通过如下命名将特征分配给x:

features = ['sepal length', 'sepal width', 'petal length', 'petal width'] 
x = df.loc[:, features].values

我现在正在使用我自己的数据集,该数据集有大约270个特征,所以很明显我不能单独命名这些特征。我尝试用以下方法将特征分配给x(不首先将单个特征分配给变量(:

x = df.loc[:, 2:].values

但我收到错误信息:

TypeError:无法对<类'pandas.core.indexes.base.Index'>利用<类"int">

我做错了什么?

出现此错误是因为loc采用列名,而不是整数。要访问索引2处的列,请使用iloc:

x = df.iloc[:, 2:].values

最新更新