数据不完整在数据分析的过程中很常见。
pandas使用浮点值NaN表示浮点和非浮点数组里的缺失数据。
pandas使用isnull()和notnull()函数来判断缺失情况。
对于缺失数据一般处理方法为滤掉或者填充。
滤除缺失数据:dropna()函数
对于一个Series,dropna()函数返回一个包含非空数据和索引值的Series,例如:

对于DataFrame,dropna()函数同样会丢掉所有含有空元素的数据,例如:

但是可以指定how='all',这表示只有行里的数据全部为空时才丢弃,例如:

如果想以同样的方式按列丢弃,可以传入axis=1,例如:

填充缺失数据:fillna()函数
如果不想丢掉缺失的数据而是想用默认值填充这些空洞,可以使用fillna()函数:

如果不想只以某个标量填充,可以传入一个字典,对不同的列填充不同的值:

网友评论