Pandas处理丢失数据
上一篇:pandas数据分析给力教程【完整版】(二)
下一篇:pandas数据分析给力教程【完整版】(四)
有两种丢失数据:
- None
- np.nan(NaN)
1. None
None是Python自带的,其类型为python object。因此,None不能参与到任何计算中。
object类型的运算要比int类型的运算慢得多
计算不同数据类型求和时间
%timeit np.arange(1e5,dtype=xxx).sum()
2. np.nan(NaN)
np.nan是浮点类型,能参与到计算中。但计算的结果总是NaN。
但可以使用np.nan*()函数来计算nan,此时视nan为0。
3. pandas中的None与NaN
1) pandas中None与np.nan都视作np.nan
创建DataFrame
使用DataFrame行索引与列索引修改DataFrame数据
2) pandas中None与np.nan的操作
isnull()
notnull()
dropna()
: 过滤丢失数据fillna()
: 填充丢失数据
(1)判断函数
isnull()
notnull()
(2) 过滤函数
dropna()
可以选择过滤的是行还是列(默认为行)
也可以选择过滤的方式 how = ‘all’
(3) 填充函数 Series/DataFrame
fillna()
可以选择前向填充还是后向填充
对于DataFrame来说,还要选择填充的轴axis。记住,对于DataFrame来说:
- axis=0:index/行
- axis=1:columns/列
============================================
练习7:
-
简述None与NaN的区别
-
假设张三李四参加模拟考试,但张三因为突然想明白人生放弃了英语考试,因此记为None,请据此创建一个DataFrame,命名为ddd3
-
老师决定根据用数学的分数填充张三的英语成绩,如何实现?
用李四的英语成绩填充张三的英语成绩?
============================================