Hannah 2020-06-21
除了删除空值,还有一种处理空值的方法是填充(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
我们使用了整列均值来填充空值,还可以使用同个导演作品的均值、同类型电影的均值等等。