【问题标题】:IndexError: index 2 is out of bounds for axis 1 with size 2 in Sklearn LabelEncoderIndexError:索引 2 超出 Sklearn LabelEncoder 中大小为 2 的轴 1 的范围
【发布时间】:2019-12-06 06:14:33
【问题描述】:

我一直在尝试使用 ANN 创建一个用于实践目的的 DL 模型。我有一个假银行的客户数据,其中有两个分类变量,即性别和国家/地区。

我尝试对国家/地区变量进行编码,但遇到了性别变量没有的错误。

错误:

X[:, 2] = labelencoder_X_2.fit_transform(X[:, 2]) IndexError:索引 2 超出轴 1 的范围,大小为 2

我的代码:

dataframe = pd.read_csv('.\Artificial_Neural_Networks\Churn_Modelling.csv')
X = dataframe.iloc[:, [3, 13]].values
Y = dataframe.iloc[:, -1].values

# Encodeing categorical data
# for country column
labelencoder_X_1 = LabelEncoder()
X[:, 1] = labelencoder_X_1.fit_transform(X[:, 1])
# print(X)

# for gender column
labelencoder_X_2 = LabelEncoder()
X[:, 2] = labelencoder_X_2.fit_transform(X[:, 2])
print(X)

P.S:我在深度学习中使用 Pycharm 和新手。

提前致谢

【问题讨论】:

    标签: python scikit-learn deep-learning


    【解决方案1】:

    您的 X 数据集没有足够的列。

    在这一行中,您仅从数据框中选择两列。因此它的索引为 0 和 1。

    X = dataframe.iloc[:, [3, 13]].values
    

    在这一行中,您尝试获取索引 2,这就是为什么您得到 index 2 is out of bounds for axis 1 with size 2 错误。

    X[:, 2] = labelencoder_X_2.fit_transform(X[:, 2])
    

    【讨论】:

    • 谢谢!我想我必须再次查看索引文档!
    猜你喜欢
    • 2020-01-16
    • 1970-01-01
    • 1970-01-01
    • 2019-03-01
    • 2015-08-06
    • 2021-05-16
    • 1970-01-01
    • 1970-01-01
    • 2018-04-10
    相关资源
    最近更新 更多