在 seaborn 的 clustermap() 中进行 z 评分时忽略 std=0 的特征

Posted

技术标签:

【中文标题】在 seaborn 的 clustermap() 中进行 z 评分时忽略 std=0 的特征【英文标题】:Ignore features with std=0 when z-scoring in seaborn's clustermap() 【发布时间】:2021-09-11 12:28:54 【问题描述】:

我用于使用 seaborn 的 clustermap() 函数创建热图的数据有时具有标准偏差 std = 0 的特征。

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

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

【问题讨论】:

【参考方案1】:

而不是使用函数的z_score 参数与

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

来自scipy.statszscore() 可以与lambda 函数一起使用,以预先使用std != 0 对列进行z-score。

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")

【讨论】:

以上是关于在 seaborn 的 clustermap() 中进行 z 评分时忽略 std=0 的特征的主要内容,如果未能解决你的问题,请参考以下文章

在 seaborn 的 clustermap() 中进行 z 评分时忽略 std=0 的特征

显示与行颜色对应的seaborn clustermap的图例

如何给 sns.clustermap 一个预先计算的距离矩阵?

ClusterMap:用于空间基因表达的多尺度聚类分析 空间转录组分析工具推荐

ceph crush的问题

016 Ceph的集群管理_1