哈喽大家中午好,今天是假期的第一天,同时也是一年一度的端午节,小编在这里祝愿大家端午安康呀!不知道大家有没有吃粽子呀!今天给大家介绍批量处理数据的4个函数! 我们在实际工作中,可能会遇到这样的问题,一张表格可能由于人为的原因不小心漏写的数据,但是一个个找并添加内容,实在麻烦,那么今天咱们就跟大家介绍下这么缺失值怎么批量处理: 1.isnull缺失值判断 这个函数,如它的名字一样,是判断表格中是否有缺失值的,返回值是布尔类型的,若为空,则显示TRUE,若非空,则显示FALSE。 主要用法: dataframe.isna() 首先我们准备了一组数据如下,有些模块是空的就会以NAN来表示: 那么我们通过isnull缺失值判断哪些为空: import pandas as pd s = pd.read_excel('西游记和水浒传.xlsx') m=s.isna() 返回的结果如下,可与上面的表格一一对应: 2.notnull缺失值判断 跟isnull缺失值判断类似,它是判断不为空的值,返回布尔类型,若不为空,则返回TRUE,若为空,则显示FALSE: import pandas as pd s = pd.read_excel('西游记和水浒传.xlsx') m=s.notna() 3.dropnull删除缺失值 当我们想要把含有缺失值的行或者列进行过滤的时候可以直接使用,使用方法如下: 基本语法如下: DataFrame.dropna(axis=0, how='any', thresh=None, subset=None) 我们一一为大家介绍各个参数代表什么: ①axis:代表按照行或者列进行删除整行或者整列,当axis=0当某行含有缺失值,直接删除;当axis=1当某列含有缺失值,直接删除。 举例: 还是以上面的列子,我们按照行进行删除: import pandas as pd s = pd.read_excel('西游记和水浒传.xlsx') m=s.dropna() 显示结果如下: ②how:代表删除的方式,默认是any,代表只要有缺失值就会被删除,可以改为all,代表当所有的数据为缺失值的时候才会被删除。 举例: 我们如下表中,薪资这列的数值全部为空,那么我们想要把这列删除,就可以这样做: s = pd.read_excel('西游记和水浒传.xlsx') m=s.dropna(axis=1,how='all') 我们就可以看到,最终薪资这列就被删除了: ③thresh:代表着至少有几个非空值才会被删除: 举例: 我们设置,列上有至少2个以上缺失值才会被删除: s = pd.read_excel('西游记和水浒传.xlsx') m=s.dropna(axis=1,thresh=2) 由于薪资这行,全部为空,就被过滤掉了 ④subset:代表选择哪行或者哪一列进行缺失值的处理: 举例: 选择'薪资','姓名'没有缺失值的行: s = pd.read_excel('西游记和水浒传.xlsx') m=s.dropna(subset=['薪资','姓名']) 4.fillna填充缺失值: ①直接用相应的值填充缺失值: 用0填充缺失值: s = pd.read_excel('西游记和水浒传.xlsx') m=s.ffill(0) ②根据前面的数据进行填充: s = pd.read_excel('西游记和水浒传.xlsx') m=s.fillna(method='ffill') ③按列进行填充 s = pd.read_excel('西游记和水浒传.xlsx') values = {'口头禅': 0, '年龄': 1} m=s.fillna(value=values) 好了小伙伴们,今天的学习就先到这里吧,这篇文章可能有点长,不着急慢慢看,学习了可以帮助我们处理很多数据呢!加油! |
|