python | Pandas库数据预处理-缺失值篇:info()、isnull()、dropna()、fillna()函数

相关文章

 python | Pandas库导入Excel数据(xlsx格式文件)函数:read_excel()

 python | Pandas库导入csv格式文件函数:read_excel()


目录

数据源

读取数据

缺失值查找

1. info()

2. isnull()

缺失值处理方式一:删除

 1. dropna()

2. dropna(how='all')

缺失值处理方式二:填充

1. fillna()

2. fillna({'a':'b'})


原数据


读取数据

import pandas as pd
student = pd.read_excel(r'E:\2022Python\数据预处理.xlsx')

缺失值查找

1. info()

# 使用info()函数,可以看出每列的缺失值个数。
print(student.info())

输出结果如下:

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 9 entries, 0 to 8
Data columns (total 6 columns):
 #   Column  Non-Null Count  Dtype  
---  ------  --------------  -----  
 0   学号      8 non-null      float64
 1   姓名      8 non-null      object 
 2   性别      8 non-null      object 
 3   班级      7 non-null      float64
 4   入学日期    6 non-null      float64
 5   课程数     8 non-null      float64
dtypes: float64(4), object(2)
memory usage: 560.0+ bytes
None

2. isnull()

# 使用isnull()函数,若缺失则为True。
print(student.isnull())

输出结果如下:

      学号     姓名     性别     班级   入学日期    课程数
0  False  False  False  False  False  False
1  False  False  False  False   True  False
2  False  False  False  False  False  False
3   True   True   True   True   True   True
4  False  False  False  False   True  False
5  False  False  False   True  False  False
6  False  False  False  False  False  False
7  False  False  False  False  False  False
8  False  False  False  False  False  False

缺失值处理方式一:删除

 1. dropna()

# dropna()函数,删除含有缺失值的行。
print(student.dropna())

输出结果如下:

    学号  姓名 性别   班级    入学日期  课程数
0  1.0  小明  男  1.0  2019.0  5.0
2  3.0  小亮  男  2.0  2020.0  7.0
6  7.0  小晶  女  4.0  2021.0  5.0
7  8.0  小绵  女  1.0  2019.0  4.0
8  9.0  李华  男  4.0  2020.0  3.0

2. dropna(how='all')

# dropna(how='all')函数,删除整行都缺失的行。
print(student.dropna(how='all'))

输出结果如下:

    学号  姓名 性别   班级    入学日期  课程数
0  1.0  小明  男  1.0  2019.0  5.0
1  2.0  小红  女  1.0     NaN  6.0
2  3.0  小亮  男  2.0  2020.0  7.0
4  5.0  小美  女  3.0     NaN  8.0
5  6.0  小聪  男  NaN  2021.0  9.0
6  7.0  小晶  女  4.0  2021.0  5.0
7  8.0  小绵  女  1.0  2019.0  4.0
8  9.0  李华  男  4.0  2020.0  3.0

缺失值处理方式二:填充

1. fillna()

# fillna():对所有缺失值进行统一填充。
print(student.fillna('缺失'))

 输出结果如下:

    学号  姓名  性别   班级    入学日期  课程数
0  1.0  小明   男  1.0  2019.0  5.0
1  2.0  小红   女  1.0      缺失  6.0
2  3.0  小亮   男  2.0  2020.0  7.0
3   缺失  缺失  缺失   缺失      缺失   缺失
4  5.0  小美   女  3.0      缺失  8.0
5  6.0  小聪   男   缺失  2021.0  9.0
6  7.0  小晶   女  4.0  2021.0  5.0
7  8.0  小绵   女  1.0  2019.0  4.0
8  9.0  李华   男  4.0  2020.0  3.0

2. fillna({'a':'b'})

# fillna({'a':'b'}):对某些列进行填充。
print(student.fillna({'班级':'9', '入学日期':'2022'}))

输出结果如下:

    学号   姓名   性别   班级    入学日期  课程数
0  1.0   小明    男  1.0  2019.0  5.0
1  2.0   小红    女  1.0    2022  6.0
2  3.0   小亮    男  2.0  2020.0  7.0
3  NaN  NaN  NaN    9    2022  NaN
4  5.0   小美    女  3.0    2022  8.0
5  6.0   小聪    男    9  2021.0  9.0
6  7.0   小晶    女  4.0  2021.0  5.0
7  8.0   小绵    女  1.0  2019.0  4.0
8  9.0   李华    男  4.0  2020.0  3.0

  • 4
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值