类型错误:无法解压非类型对象

问题描述 投票:0回答:1
class GapStatistics

GapStatEucl = GapStatistics(return_params=True)
optimum, params = GapStatEucl.fit_predict(KMedoids, 15, cluster_vars_gap)

错误:

      1 GapStatEucl = GapStatistics(return_params=True)
----> 2 optimum, params = GapStatEucl.fit_predict(KMedoids, 15, cluster_vars_gap)

TypeError: cannot unpack non-iterable NoneType object

如何解决这个问题?

python class tuples typeerror
1个回答
0
投票

我可以在这里查看一些类似的文档:https://pypi.org/project/gapstatistics/ .

它表示 GapStatEucl.fit_predict “返回最佳簇数 (K) 或具有最佳 K 的元组以及用于差距分析的附加统计信息”。

所以我认为,在你的情况下,它可能只返回 K 值,而不是元组。因此,没有什么可以打开的。

要测试它返回的内容,只需执行以下操作:

print(GapStatEucl.fit_predict(KMedoids, 15, cluster_vars_gap))

看看它是否是一个元组。如果有时它返回 K,有时返回一个 Tuple,那么,您应该存储结果并每次测试它:

optimum = None #To ensure these vars are in scope, define them outside the If block
params = None
result = GapStatEucl.fit_predict(KMedoids, 15, cluster_vars_gap)
if isinstance(result, tuple):
    (optimum, params) = result
else:
    optimum = result
    pass #Do whatever you need to do, to deal with this
© www.soinside.com 2019 - 2024. All rights reserved.