【问题解决】keyError: “Passing list-likes to.loc or [] with any missing labels is no longer supported

报错意思是:

使用了不存在的索引,后面还会列出哪些索引不存在,检查一下是否确实取到了不存在的,在之前库函数中对于不存在索引会填充None,现在需要使用 .reindex() 来代替。

但我的报错是在sklearn中的fit方法中,找了半天。

发现是因为样本(X)是二维向量,使用索引后仍是二维向量,但下标前移。

而标签(y)是dataframe中的某一列的值,即Series,其自带索引属性。当不使用索引时,其长度和样本长度一样,使用索引和下标是相同的。当使用索引后,Series不会顺次前移下标,而是取出索引对应的那些值,而fit方法中此时通过未取的那些长度的索引来找改变了的narray,会导致这个错误。

解决方法:

把索引后的Series使用np.array()变成narray结构即可。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2022年5月17日
下一篇 2022年5月17日

相关推荐