开发者社区> 问答> 正文

如何防止标准化公式产生NaN值?

当我试着用下面的公式来规格化我的数据时:

normalized_df=(df-df.mean())/df.std()

有些值变成NaN。我认为它可以变成NaN的唯一原因是stanard偏差等于0(除以0),这是不太可能的,因为这意味着所有的值必须有相同的值。 为什么会这样呢?如何避免? 我在这里发现了一个类似的问题,表明它可能是一个bug! 问题来源StackOverflow 地址:/questions/59379134/how-to-prevent-normalization-formula-to-produce-nan-values

展开
收起
kun坤 2019-12-30 09:52:14 1690 0
1 条回答
写回答
取消 提交回答
  • 如果没有任何额外的输入,std将给出这些列的标准偏差。首先要检查的是得到NaN的列是什么样的。 它可以有多个原因。或者,就像你说的,因为他们的性病是0。或者因为所有的列元素都是NaN。 因此,要查找bug,请检查特定列中发生了什么。明确计算平均值和std,看看发生了什么。并检查列中的任何项是否已经是NaN。我无法想象numpy bug已经超过4年没有被修复了。

    2019-12-30 09:52:21
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载