标签: nan

Pandas用空白/空字符串替换NaN

我有一个Pandas Dataframe,如下所示:

    1    2       3
 0  a  NaN    read
 1  b    l  unread
 2  c  NaN    read
Run Code Online (Sandbox Code Playgroud)

我想用空字符串删除NaN值,以便它看起来像这样:

    1    2       3
 0  a   ""    read
 1  b    l  unread
 2  c   ""    read
Run Code Online (Sandbox Code Playgroud)

python nan dataframe pandas

176
推荐指数
5
解决办法
20万
查看次数

为什么isNaN("")等于false

我有一个简单的问题(我希望!).在JS中,为什么isNaN(" ")评估为false,但false评估为true?

我正在对文本输入字段执行数值运算,并检查字段是否为空,""或NaN.当有人在场中输入少量空格时,我的验证在所有三个空格中都失败了,我很困惑为什么它超过了isNAN检查.

谢谢!

javascript nan

154
推荐指数
8
解决办法
6万
查看次数

为什么Double.NaN == Double.NaN返回false?

我只是在研究OCPJP问题,我发现了这个奇怪的代码:

public static void main(String a[]) {
    System.out.println(Double.NaN==Double.NaN);
    System.out.println(Double.NaN!=Double.NaN);
}
Run Code Online (Sandbox Code Playgroud)

当我运行代码时,我得到了:

false
true
Run Code Online (Sandbox Code Playgroud)

false当我们比较两个看起来彼此相同的东西时,输出结果如何?什么NaN意思?

java floating-point scjp nan ocpjp

154
推荐指数
5
解决办法
6万
查看次数

为什么typeNNN会返回"数字"?

只是出于好奇.

typeof NaN数字似乎不合逻辑.顺便说一句,就像NaN === NaNNaN == NaN返回虚假一样.这是javascript的特点之一,还是有理由这样做?

编辑:谢谢你的回答.尽管让人们感到高兴并不容易.阅读答案和维基我理解得更多,但仍然是一句话

与NaN进行比较时,即使与自身进行比较,也会返回无序结果.比较谓词是信令或非信令,信令版本表示这种比较的无效例外.等式和不等式谓词是非信令的,因此x = x返回false可用于测试x是否是安静的NaN.

只是让我头晕目眩.如果有人能用人类(而不是数学家)的可读语言翻译,我会感激不尽.

javascript nan

153
推荐指数
6
解决办法
6万
查看次数

(NaN!= NaN)和(NaN!== NaN)之间有什么区别?

首先,我要提一提,我知道如何isNaN()Number.isNaN()工作.我正在阅读David Flanagan的The Definite Guide,他给出了一个如何检查值是否为例子的例子NaN:

x !== x
Run Code Online (Sandbox Code Playgroud)

这将导致true当且仅当xNaN.

但现在我有一个问题:他为什么要使用严格的比较?因为它似乎

x != x
Run Code Online (Sandbox Code Playgroud)

表现方式相同.是否可以安全使用的两个版本,或我很想念在JavaScript中的一些值(S),将返回truex !== xfalsex != x

javascript nan

147
推荐指数
3
解决办法
1万
查看次数

为什么 [NaN].includes(NaN) 在 JavaScript 中返回 true?

我熟悉的NaN是在JavaScript中“怪异”的,即NaN === NaN总是返回false,如所描述这里。因此,不应通过===比较来检查NaN,而应使用 isNaN(..) 。

所以我惊讶地发现

> [NaN].includes(NaN)
true
Run Code Online (Sandbox Code Playgroud)

这似乎不一致。为什么会有这种行为?

它是如何工作的?请问includes方法专门检查isNaN

javascript arrays nan ecmascript-6

133
推荐指数
4
解决办法
9427
查看次数

pandas DataFrame:用列的平均值替换nan值

我有一个大概用实数填充的pandas DataFrame,但它中也有一些nan值.

如何nan用平均列替换s?

这个问题与这个问题非常相似:numpy数组:用列的平均值替换nan值, 但不幸的是,给出的解决方案不适用于pandas DataFrame.

python nan pandas

132
推荐指数
9
解决办法
22万
查看次数

具有NaN(缺失)值的groupby列

我有一个DataFrame,其列中包含许多缺失值,我希望将其分组:

import pandas as pd
import numpy as np
df = pd.DataFrame({'a': ['1', '2', '3'], 'b': ['4', np.NaN, '6']})

In [4]: df.groupby('b').groups
Out[4]: {'4': [0], '6': [2]}
Run Code Online (Sandbox Code Playgroud)

看到Pandas已经删除了具有NaN目标值的行.(我想要包含这些行!)

由于我需要很多这样的操作(许多cols都缺少值),并且使用比中位数(通常是随机森林)更复杂的函数,我想避免编写太复杂的代码片段.

有什么建议?我应该为此编写一个函数还是有一个简单的解决方案?

grouping nan pandas

119
推荐指数
7
解决办法
9万
查看次数

为什么NaN不等于NaN?

相关的IEEE标准定义了一个数字常量NaN(不是数字),并规定NaN应该比较为不等于它自己.这是为什么?

我熟悉的所有语言都实现了这个规则.但它经常会导致严重的问题,例如当NaN存储在容器中时,NaN存在于正在排序的数据中等时的意外行为等.更不用说,绝大多数程序员都希望任何对象都等于自身(在他们了解NaN之前,令人惊讶的是他们增加了错误和混乱.

IEEE标准经过深思熟虑,因此我确信NaN的比较与其本身相同是很糟糕的.我只是想不通它是什么.

language-agnostic floating-point nan ieee-754

114
推荐指数
5
解决办法
3万
查看次数

如何在Pandas数据帧(python)中查找哪些列包含任何NaN值

给定一个pandas数据帧,其中包含(可能)NaN值分散在这里和那里:

问题:如何确定哪些列包含NaN值?特别是,我可以获得包含NaN的列名列表吗?

谢谢

python numpy nan dataframe pandas

110
推荐指数
7
解决办法
12万
查看次数