TypeError: unhashable type: 'list' 当我想将一些属性值包含到列表中时
Posted
技术标签:
【中文标题】TypeError: unhashable type: \'list\' 当我想将一些属性值包含到列表中时【英文标题】:TypeError: unhashable type: 'list' when I want to include some attribute values into a listTypeError: unhashable type: 'list' 当我想将一些属性值包含到列表中时 【发布时间】:2021-09-07 15:59:56 【问题描述】:为了计算分类方法,我想将一些属性值包含到一个列表中。
def method(self):
self.FirstWindow = QtWidgets.QMainWindow()
self.ui = Ui_MainWindow()
df = pd.read_csv(self.ui.openFileNameDialog)
df.head(3)
x_new = np.array([self.textEdit_fixedacidity, self.textEdit_volatile, self.textEdit_citricacid, self.textEdit_residualsugar, self.textEdit_chlorides,
self.textEdit_freesulfur, self.textEdit_totalsulfur, self.textEdit_density, self.textEdit_pH, self.textEdit_sulphates, self.textEdit_alcohol])
svc = SVC()
svc.fit(X_train, y_train)
pred_svc = svc.predict(x_new)
print(classification_report(y_test, pred_svc))
self.conclusion_svc = accuracy_score(y_test, pred_svc)
rfc = RandomForestClassifier(n_estimators=250)
rfc.fit(X_train, y_train)
pred_rfc = rfc.predict(X_test)
print(classification_report(y_test, pred_rfc))
knn = KNeighborsClassifier()
knn.fit(X_train, y_train)
pred_knn = knn.predict(X_test)
print(classification_report(y_test, pred_knn))
self.conclusion_knn = accuracy_score(y_test, pred_knn)
但是当我想在列表中插入一些属性值时。
x_new = np.array([self.textEdit_fixedacidity, self.textEdit_volatile, self.textEdit_citricacid, self.textEdit_residualsugar, self.textEdit_chlorides,
self.textEdit_freesulfur, self.textEdit_totalsulfur, self.textEdit_density, self.textEdit_pH, self.textEdit_sulphates, self.textEdit_alcohol])
我在处理此错误消息时遇到了问题。
TypeError: unhashable type: 'list'
我该怎么办?
【问题讨论】:
【参考方案1】:在列表[self.textEdit_fixedacidity, self.textEdit_volatile, self.textEdit_citricacid, self.textEdit_residualsugar, self.textEdit_chlorides, self.textEdit_freesulfur, self.textEdit_totalsulfur, self.textEdit_density, self.textEdit_pH, self.textEdit_sulphates, self.textEdit_alcohol]
周围使用大括号 和
[试图] 创建
set
。并且list
对象是不可散列的(作为错误状态)并且不能是set
中的元素。
我认为您想将列表传递给 np.array()
,而这些花括号是多余的 - 只需删除它们即可。
【讨论】:
以上是关于TypeError: unhashable type: 'list' 当我想将一些属性值包含到列表中时的主要内容,如果未能解决你的问题,请参考以下文章
如何克服 TypeError: unhashable type: 'list'
Python debug——TypeError unhashable type(list/set/dict)
这里的正确语法是啥?获取类型 TypeError: unhashable type: 'dict
Python "TypeError: unhashable type: 'slice'" 用于编码分类数据