欢迎访问宙启技术站
智能推送

数据处理实战:使用when()函数进行缺失值填充

发布时间:2024-01-18 19:08:47

在数据处理中,经常会遇到缺失值的情况。缺失值可能是由于数据采集过程中的错误,或者某些观测结果不可用而导致的。为了确保数据的完整性和准确性,我们需要对缺失值进行处理。在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()函数,我们可以根据指定的条件对缺失值进行灵活的填充。当然,在具体的应用中,我们可以根据实际需求来制定填充策略,比如使用均值、中位数等来填充缺失值。