为什么不能使用fillna python函数创建数据框?

时间:2019-08-26 20:23:11

标签: python pandas fillna

我有一个数据框,正试图用“未知”一词替换所有NaN。

我尝试使用以下代码:

reviews[reviews.country.fillna("Unknown")]

这不起作用。

将起作用的代码是据我所知创建以下代码的代码:

reviews.country.fillna("Unknown")

但是,我的问题是为什么我不能使用fillna函数创建一个数据框?由于某种原因,我无法在整个代码中应用“ reviews []”吗?

为什么fillna只适用于一个系列?

为了让我更困惑,我可以使用isnull()函数制作一个数据框:

reviews[reviews.country.isnull()]

如您所见,我可以在整个代码中应用“ reviews []”。

为什么fillna不能处理相同的内容?

有人可以向我解释正在发生的事情吗?

非常感谢! (对不起,如果我重复我自己!)

1 个答案:

答案 0 :(得分:0)

因此您可以将fillna()应用于整个数据框,也可以应用于一个Serie(一列)。

## 1. Turns all NaN to "Unknown"
reviews.fillna(value="Unkown", inplace=True)
# Or, reviews = reviews.fillna("Unkown")

## 2. Turns all NaN from the column 'country' to "Unknown"
reviews['country'].fillna(value="Unkown", inplace=True)
# Or, reviews.country.fillna(value="Unkown", inplace=True)
# Or, reviews['country'] = reviews['country'].fillna("Unknown")