Python Pandas – 用众数填充缺失的列值

Python Pandas – 用众数填充缺失的列值

在数据处理中,存在着各种各样的数据缺失情形,而缺失数据的填充也是数据预处理的重要环节之一。本文将介绍如何使用Pandas库的fillna函数,以众数填充缺失的列值。

更多Pandas相关文章,请阅读:Pandas 教程

数据准备

首先,我们需要准备一个具备缺失值的数据集。下面是一个简单的例子,其中“name”和“gender”列各有一行缺失值:

import pandas as pd

data = {'name': ['Tom', 'Jerry', 'Mickey', 'Minnie', 'Donald', 'Daisy', 'Goofy', 'Pluto', None, 'Clarabelle'],
        'age': [25, 32, 20, 19, 27, 23, 28, 30, 29, 26],
        'gender': ['male', 'male', 'female', 'female', 'male', 'female', 'male', 'male', None, 'female'],
        'score': [80, 75, 90, 88, 95, 92, 85, 89, 87, 91]}

df = pd.DataFrame(data)
print(df)

输出结果:

         name  age  gender  score
0         Tom   25    male     80
1       Jerry   32    male     75
2      Mickey   20  female     90
3      Minnie   19  female     88
4      Donald   27    male     95
5       Daisy   23  female     92
6       Goofy   28    male     85
7       Pluto   30    male     89
8        None   29    None     87
9  Clarabelle   26  female     91

填充缺失值

接着,我们使用Pandas的fillna函数填充缺失的列值。我们需要先找到具有缺失值的列,并计算其众数。可以使用mode函数来计算列的众数。然后,我们将这个众数插入缺失值。

mode_value = df['gender'].mode()[0]
df['gender'] = df['gender'].fillna(mode_value)
print(df)

输出结果:

         name  age  gender  score
0         Tom   25    male     80
1       Jerry   32    male     75
2      Mickey   20  female     90
3      Minnie   19  female     88
4      Donald   27    male     95
5       Daisy   23  female     92
6       Goofy   28    male     85
7       Pluto   30    male     89
8        None   29    male     87
9  Clarabelle   26  female     91

在上面的代码中,我们首先在“gender”列中通过mode函数找到了众数,然后将其填充到缺失值位置。

小结

本文介绍了如何使用Pandas中的fillna函数以众数填充缺失的列值。该方法适用于具有缺失值的数据,可以有效地处理某些情况下的异常数据。在实际应用中,我们还需要结合不同的数据类型和场景,综合应用不同的填充方法,以获得更好的数据预处理效果。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

Pandas 教程