为了账号安全,请及时绑定邮箱和手机立即绑定

error

IndexError: boolean index did not match indexed array along dimension 0; dimension is 100 but corresponding boolean dimension is 101

正在回答

1 回答

#注意看我y和X这两行的注释:要么全是df.loc,要么全是df.iloc,核对一下自己代码

import matplotlib.pyplot as plt
import numpy as np

y = df.loc[0:100, 4].values #loc/iloc得统一
y = np.where(y == 'Iris-setosa', -1, 1)

#抽出第0列和第2列
X = df.loc[0:100, [0, 2]].values # loc/iloc得统一
plt.scatter(X[:50, 0], X[:50, 1], color='red', marker='o', label='setosa')
plt.scatter(X[50:100, 0], X[50:100, 1], color='blue', marker='x', label='versicolor')
plt.xlabel('花瓣长度')
plt.ylabel('花茎长度')
plt.legend(loc='upper left')
#plt.show()

0 回复 有任何疑惑可以回复我~
#1

weixin_慕尼黑7100639

实际上,在这个例子中,df.loc和df.iloc只要统一,这个问题就解决(碰巧);但是建议查看一下 https://blog.csdn.net/htuhxf/article/details/88221418 中对loc和iloc的区别详细讲解
2022-05-27 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
机器学习-实现简单神经网络
  • 参与学习       66656    人
  • 解答问题       182    个

人工智能时代,你准备好成为抓住机遇的那百分之二吗。

进入课程
意见反馈 帮助中心 APP下载
官方微信