首页 > 解决方案 > 在 seaborn 的 clustermap() 中进行 z 评分时忽略 std=0 的特征

问题描述

我用来创建带有 seabornclustermap()函数的热图的数据有时具有标准偏差的特征std = 0

ValueError: The condensed distance matrix must contain only finite values当使用函数的参数z_score = True进行规范化时,这会提示 a 。

有没有办法排除 z 评分的这些特征以避免压缩距离矩阵中的无限值?

标签: pythonpandasseaborndata-sciencenormalization

解决方案


而不是使用函数的z_score参数

sns.clustermap(df, cmap="seismic", method="ward", z_score=True)

zscore()fromscipy.stats可以与函数一起使用,以预先lambda对列进行 z 评分。std != 0

from scipy.stats import zscore

sns.clustermap(df.apply(lambda col: zscore(col) if col.std()!=0 else col, axis=0),
               cmap="seismic", method="ward")

推荐阅读