相关疑难解决方法(0)

为什么在numpy`nan == nan`中是假的,而nan在[nan]中是真的?

虽然问题的第一部分(标题中)已经被回答了几次(即,为什么NaN不等于NaN?),我不明白为什么第二部分的工作方式(灵感)通过这个问题如何检查包含NaN的列表

即:

>> nan == nan
False

>> nan in [nan]
True
Run Code Online (Sandbox Code Playgroud)

考虑@DSM答案的问题的解释性附录.那么,为什么float("nan")表现与众不同nan?它不应该再次评估简单nan,为什么解释器这样做?

>> x = float("nan")
>> y = nan
>> x
nan
>> y
nan
>> x is nan, x is float("nan"), y is nan
(False, False, True)
Run Code Online (Sandbox Code Playgroud)

基本上,它nan在第一种情况下引用相同的泛型,但在第二种情况下创建单独的对象:

>> nans = [nan for i in range(2)]
>> map(id, nans)
[190459300, 190459300]
>> nans = [float("nan") for i in range(2)]
>> map(id, nans)
[190459300, 190459301]
Run Code Online (Sandbox Code Playgroud)

python numpy nan

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

Pandas isna()和isnull(),有什么区别?

熊猫有isna()isnull().我通常isnull()用来检测缺失值并且从未遇到过这种情况,所以我不得不使用其他的.那么,何时使用isna()

python pandas

23
推荐指数
3
解决办法
6749
查看次数

Pandas Lambda功能与Nan支持

我正在尝试在Pandas中编写一个lambda函数,检查Col1是否为Nan,如果是,则使用另一列的数据.我无法获得正确编译/执行的代码(如下所示).

import pandas as pd
import numpy as np
df=pd.DataFrame({ 'Col1' : [1,2,3,np.NaN], 'Col2': [7, 8, 9, 10]})  
df2=df.apply(lambda x: x['Col2'] if x['Col1'].isnull() else x['Col1'], axis=1)
Run Code Online (Sandbox Code Playgroud)

有没有人对如何使用lambda函数编写这样的解决方案有任何好主意,或者我是否超出了lambda的能力?如果没有,你有其他解决方案吗?谢谢.

python lambda nan python-3.x pandas

4
推荐指数
2
解决办法
1万
查看次数

标签 统计

python ×3

nan ×2

pandas ×2

lambda ×1

numpy ×1

python-3.x ×1