我一直在学习如何在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