成功解决TypeError: unhashable type: 'numpy.ndarray'

目录

解决问题

解决思路

解决方法


解决问题

TypeError: unhashable type: 'numpy.ndarray'

成功解决TypeError: unhashable type:

解决思路

类型错误:不可hash的类型:'numpy.ndarray'

解决方法

总结网友以及博主的思路,如下:

T1、先尝试修改变量名:看到莫名其妙的TypeError要考虑是否存在变量名重复,或者是由于变量名与占位符名冲突导致的。

T2、转为numpy数组:因为得到的X_test_label,其实是 DataFrame格式,故该格式是不能用于迭代的。尝试可将其转化成 np.array 格式的,如 X_train = np.array(X_train)

X_test_label=np.array(X_test_label)

T3、如果还出现,此时就要采用,在T2的基础上,对array类型数组进行全部[取0]

>>> data
array([[ 1., 2., 3.],
[ 3., 4., 5.],
[ 5., 6., 7.],
[ 8., 9., 10.]])
>>> hsplit(data,3)[0]
array([[ 1.],
[ 3.],
[ 5.],
[ 8.]])

哈哈,大功告成!

T4、补充,有很多网友私下咨询,以上方法还会出现错误。

博主经过多方尝试,在T2的基础上,继续将一个字符串数组转换成整型数组

成功解决TypeError: unhashable type:

最后,总结

print('原始:',X_test_label)
X_test_label=np.array(X_test_label) #转为numpy数组
print('np.array后:',X_test_label)
X_test_label=list(map(int,X_test_label)) #将一个字符串数组转换成整型数组
print('np.array后:',X_test_label)

最后,依然大功告成!