如何防止归一化公式产生 NaN 值?
How to prevent Normalization Formula to produce NaN values?
尝试使用以下公式规范化我的数据时:
normalized_df=(df-df.mean())/df.std()
一些值变为 NaN。我认为它可以成为 NaN 的唯一原因是标准偏差是否等于零(除以 0)。这不太可能,因为这意味着所有值都必须具有相同的值。
为什么会这样呢?如何避免?
我发现了一个类似的问题 表明它可能是一个错误!
无需任何额外输入,std
将给出各列的标准差。因此,首先要检查的是您获得 NaN 的列的外观。
原因可能不止一个。正如您所说,要么是因为它们的 std 是 0。要么是因为任何列条目都是 NaN。
因此,要查找错误,请检查特定专栏中的内容。为自己显式计算均值和标准差,看看发生了什么。并检查列中的任何条目是否已经是 NaN。我无法想象这个 numpy bug 已经 4 年多了还没有被修复。
尝试使用以下公式规范化我的数据时:
normalized_df=(df-df.mean())/df.std()
一些值变为 NaN。我认为它可以成为 NaN 的唯一原因是标准偏差是否等于零(除以 0)。这不太可能,因为这意味着所有值都必须具有相同的值。
为什么会这样呢?如何避免?
我发现了一个类似的问题
无需任何额外输入,std
将给出各列的标准差。因此,首先要检查的是您获得 NaN 的列的外观。
原因可能不止一个。正如您所说,要么是因为它们的 std 是 0。要么是因为任何列条目都是 NaN。
因此,要查找错误,请检查特定专栏中的内容。为自己显式计算均值和标准差,看看发生了什么。并检查列中的任何条目是否已经是 NaN。我无法想象这个 numpy bug 已经 4 年多了还没有被修复。