数据处理实战:使用when()函数进行缺失值填充
在数据处理中,经常会遇到缺失值的情况。缺失值可能是由于数据采集过程中的错误,或者某些观测结果不可用而导致的。为了确保数据的完整性和准确性,我们需要对缺失值进行处理。在Python的pandas库中,when()函数可以用于根据指定的条件填充缺失值。
when()函数的语法如下:
when(condition, value)
它的作用是在给定的条件(condition)满足时,对缺失值进行填充,填充的值为value。
下面我们通过一个实例来演示when()函数的使用。
假设我们有一个包含学生信息的数据集,其中包括学生的姓名、年龄和成绩。由于某些原因,我们的数据集中存在一些缺失值。我们希望根据条件来填充这些缺失值。
首先,我们需要导入pandas库。
import pandas as pd
然后,我们创建一个DataFrame对象来存储学生信息。
data = {'姓名': ['张三', '李四', '王五', '赵六', '刘七'],
'年龄': [18, 20, None, 19, 22],
'成绩': [80, None, 70, 75, 90]}
df = pd.DataFrame(data)
打印出DataFrame对象,我们可以看到其中存在两个缺失值。
print(df)
输出结果:
姓名 年龄 成绩
0 张三 18.0 80.0
1 李四 20.0 NaN
2 王五 NaN 70.0
3 赵六 19.0 75.0
4 刘七 22.0 90.0
现在,我们使用when()函数来填充缺失值。根据我们的要求,如果年龄为缺失值,则填充为0;如果成绩为缺失值,则填充为60。
df['年龄'] = when(df['年龄'].isnull(), 0)
df['成绩'] = when(df['成绩'].isnull(), 60)
最后,我们再次打印出DataFrame对象,可以看到缺失值已经被填充。
print(df)
输出结果:
姓名 年龄 成绩
0 张三 18.0 80.0
1 李四 20.0 60.0
2 王五 0.0 70.0
3 赵六 19.0 75.0
4 刘七 22.0 90.0
通过when()函数,我们可以根据指定的条件对缺失值进行灵活的填充。当然,在具体的应用中,我们可以根据实际需求来制定填充策略,比如使用均值、中位数等来填充缺失值。
