相关疑难解决方法(0)

熊猫 - FillNa与另一栏

我想用另一列的值填充一列中的缺失值.

我读到循环遍历每一行将是非常糟糕的练习,并且最好一次性完成所有操作,但我无法找到如何使用该fillna方法.

数据之前

Day  Cat1  Cat2
1    cat   mouse
2    dog   elephant
3    cat   giraf
4    NaN   ant
Run Code Online (Sandbox Code Playgroud)

数据之后

Day  Cat1  Cat2
1    cat   mouse
2    dog   elephant
3    cat   giraf
4    ant   ant
Run Code Online (Sandbox Code Playgroud)

python pandas fillna

70
推荐指数
4
解决办法
5万
查看次数

检查pandas DataFrame中的特定值(在单元格中)是否为NaN,无法使用ix或iloc

可以说我有以下内容pandas DataFrame:

import pandas as pd
df = pd.DataFrame({"A":[1,pd.np.nan,2], "B":[5,6,0]})
Run Code Online (Sandbox Code Playgroud)

看起来像这样:

>>> df
     A  B
0  1.0  5
1  NaN  6
2  2.0  0
Run Code Online (Sandbox Code Playgroud)

第一种选择

我知道一种方法来检查特定值是否NaN为,如下所示:

>>> df.isnull().ix[1,0]
True
Run Code Online (Sandbox Code Playgroud)

第二种选择(不工作)

我认为下面的选项,使用ix,也可以,但它不是:

>>> df.ix[1,0]==pd.np.nan
False
Run Code Online (Sandbox Code Playgroud)

我也尝试iloc过相同的结果:

>>> df.iloc[1,0]==pd.np.nan
False
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用ix或检查这些值iloc:

>>> df.ix[1,0]
nan
>>> df.iloc[1,0]
nan
Run Code Online (Sandbox Code Playgroud)

那么,为什么第二种选择不起作用呢?是否可以NaN使用ix或检查值iloc

python nan dataframe pandas

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

numpy NaN并不总是被认可

这让我很困惑:

```
a=np.array([1,2,np.nan,3])    # an array with a nan
print(np.isnan(a)[2])         # it truly is a nan
print(a[2])                   # it quacks like a nan
print(np.nan is np.nan)       # nan's can be compared
print(a[2] is np.nan)         # But then, this isn't a nan after all!!??

>>> True
>>> nan
>>> True
>>> False
```
Run Code Online (Sandbox Code Playgroud)

我知道我们不允许比较nan的==,但is应该被允许吗?毕竟它在比较nan与自身时有效吗?

感谢您对此处发生的任何提示.

python numpy nan

5
推荐指数
2
解决办法
936
查看次数

dataframe.apply(lambda x: x is np.nan) 不起作用

所以基本上数据框中的列有 Nan 和 float,我想使用 apply 来计算列中的值。如果值为nan,则返回else,计算。

但看起来x is np.nanlambda 并没有给我正确的答案。这是一个例子

In[6]: df = pd.DataFrame({'A': [np.nan, np.nan, np.nan]})

In[7]: df.A.apply(lambda x: x is np.nan)
Out[7]: 
0    False
1    False
2    False
Run Code Online (Sandbox Code Playgroud)

有谁知道原因吗?

python numpy pandas

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

标签 统计

python ×4

pandas ×3

nan ×2

numpy ×2

dataframe ×1

fillna ×1