📅  最后修改于: 2023-12-03 15:18:55.262000             🧑  作者: Mango
在数据清洗过程中,经常会遇到缺失值的情况。为了避免在数据分析和建模中对数据的影响,我们需要对缺失值做出处理。一种常用的方法是使用频率最高的值填充缺失值,也就是mode(众数)。
本文将介绍使用Python中的pandas库,如何利用mode填充缺失值。
首先,我们需要导入需要用到的库,本文主要用到的是pandas和numpy库。
import pandas as pd
import numpy as np
接着,我们需要准备一份数据来进行填充缺失值的演示。这里我们使用一个包含了空值的数据集(csv格式),通过pandas的read_csv读取csv文件,将其转化为一个DataFrame对象:
data = pd.read_csv('data.csv')
print(data)
运行代码得到输出:
Name Age Sex
0 Alice 22.0 F
1 Bob NaN None
2 Cathy 21.0 F
3 Dan 24.0 M
4 Ellie NaN F
5 Frank 25.0 M
可以看到,数据集中有两个缺失值,一个在Age列,一个在Sex列。
使用pandas的fillna方法,我们可以使用mode填充缺失值。fillna方法可以接受使用何种方法进行填充。下面我们将演示使用mode填充缺失值。
mode_value = data['Age'].mode()[0]
data['Age'].fillna(mode_value, inplace=True)
mode_value = data['Sex'].mode()[0]
data['Sex'].fillna(mode_value, inplace=True)
print(data)
输出结果:
Name Age Sex
0 Alice 22.0 F
1 Bob 21.0 F
2 Cathy 21.0 F
3 Dan 24.0 M
4 Ellie 21.0 F
5 Frank 25.0 M
缺失值已经被用mode值填充了。
本文介绍了如何使用Python中的pandas库填充缺失值。对于缺失的数值数据,可以使用频率最高的值填充,也就是mode值。可以使用fillna方法来进行填充。