Python机器学习(九十一)Pandas 填充(Imputation)空值

除了删除空值,还有一种处理空值的方法是填充(Imputation)。

让我们看看在revenue_millions列中填充缺失的值。

首先,将该列提取到变量中:

revenue = movies_df[‘revenue_millions‘]

使用DataFrame[‘列名‘]可以获取1列数据,即一个Series

可以使用head查看前面几个数据:

revenue.head()

输出

Title
Guardians of the Galaxy    333.13
Prometheus                 126.46
Split                      138.12
Sing                       270.32
Suicide Squad              325.02
Name: revenue_millions, dtype: float64

Series与DataFrame格式略有不同,但仍然有标题索引。

填充空值,不能乱填,我们将使用列内的均值来填充。这平均值:

revenue_mean = revenue.mean()

revenue_mean

输出

82.95637614678898

取均值,用fillna()方法填充空值:

revenue.fillna(revenue_mean, inplace=True)

现在,用列的均值替换了所有的收益为null的项。注意,通过使用inplace=True,修改了原数据movies_df:

movies_df.isnull().sum()

输出

rank                 0
genre                0
description          0
director             0
actors               0
year                 0
runtime              0
rating               0
votes                0
revenue_millions     0
metascore           64
dtype: int64

我们使用了整列均值来填充空值,还可以使用同个导演作品的均值、同类型电影的均值等等。

相关推荐