文章目录
一、如何处理nan二、电影数据的缺失值处理2.1 判断缺失值是否存在2.2 存在缺失值nan,并且是np.nan2.3 不是缺失值nan,有默认标记的
三、小结
一、如何处理nan
二、电影数据的缺失值处理
电影数据的缺失值处理
movie
= pd
.read_csv
("./data/IMDB-Movie-Data.csv")
2.1 判断缺失值是否存在
pd.notnull()
pd
.notnull
(movie
)
Rank Title Genre Description Director Actors Year Runtime
(Minutes
) Rating Votes Revenue
(Millions
) Metascore
0 True True True True True True True True True True True True
1 True True True True True True True True True True True True
2 True True True True True True True True True True True True
3 True True True True True True True True True True True True
4 True True True True True True True True True True True True
5 True True True True True True True True True True True True
6 True True True True True True True True True True True True
7 True True True True True True True True True True False True
np
.all(pd
.notnull
(movie
))
2.2 存在缺失值nan,并且是np.nan
1、删除
pandas删除缺失值,使用dropna的前提是,缺失值的类型必须是np.nan
movie
.dropna
()
data
= movie
.dropna
()
2、均值替换缺失值
movie
['Revenue (Millions)'].fillna
(movie
['Revenue (Millions)'].mean
(), inplace
=True)
3、指定值替换
fill_dict
={
'Revenue (Millions)':-100,
'Metascore':-10
}
movie
=movie
.fillna
(fill_dict
)
2.3 不是缺失值nan,有默认标记的
数据是这样的: 处理思路分析:
1、先替换‘?’为np.nan
df.replace(to_replace=, value=)
to_replace:替换前的值value:替换后的值
wis
= wis
.replace
(to_replace
='?', value
=np
.nan
)
2、在进行缺失值的处理
wis
= wis
.dropna
()
三、小结
isnull、notnull判断是否存在缺失值【知道】
np.any(pd.isnull(movie)) # 里面如果有一个缺失值,就返回Truenp.all(pd.notnull(movie)) # 里面如果有一个缺失值,就返回False dropna删除np.nan标记的缺失值【知道】
movie.dropna() fillna填充缺失值【知道】
movie[i].fillna(value=movie[i].mean(), inplace=True) replace替换具体某些值【知道】
wis.replace(to_replace="?", value=np.NaN)