Pandas数据清洗和预处理的实现示例

 更新时间:2024年01月04日 08:57:13   作者:西玥  
本文主要介绍了Pandas数据清洗和预处理的实现示例,包括处理缺失值、异常值,进行数据转换和规范化,以及处理重复数据等操作,感兴趣的可以了解一下

让我们通过几个案例来学习如何使用Pandas进行数据清洗和预处理,包括处理缺失值、异常值,进行数据转换和规范化,以及处理重复数据等操作。

处理缺失值:

# 创建包含缺失值的DataFrame
data = {
    '姓名': ['张三', '李四', None, '赵六'],
    '年龄': [18, 19, None, 20],
    '性别': ['男', '女', '男', '女'],
    '分数': [90, None, 95, 80]
}
df = pd.DataFrame(data)

# 检测缺失值
print(df.isnull())

# 删除包含缺失值的行
df_dropna = df.dropna()
print(df_dropna)

# 使用指定值填充缺失值
df_fillna = df.fillna(0)
print(df_fillna)

处理异常值:

# 创建包含异常值的DataFrame
data = {
    '姓名': ['张三', '李四', '王五', '赵六'],
    '年龄': [18, -10, 17, 20],
    '性别': ['男', '女', '男', '女'],
    '分数': [90, 85, 105, 80]
}
df = pd.DataFrame(data)

# 检测异常值
age_outliers = df[(df['年龄'] < 0) | (df['年龄'] > 100)]
print(age_outliers)

score_outliers = df[(df['分数'] < 0) | (df['分数'] > 100)]
print(score_outliers)

# 替换异常值
df.loc[df['年龄'] < 0, '年龄'] = 18
df.loc[df['分数'] < 0, '分数'] = 0
print(df)

数据转换和规范化:

# 将姓名列转换为大写
df['姓名'] = df['姓名'].str.upper()
print(df)

# 将分数归一化到0-1之间
df['分数_normalized'] = (df['分数'] - df['分数'].min()) / (df['分数'].max() - df['分数'].min())
print(df)

# 使用字典映射进行数据规范化
gender_mapping = {'男': 1, '女': 0}
df['性别_encoded'] = df['性别'].map(gender_mapping)
print(df)

处理重复数据:

# 创建包含重复数据的DataFrame
data = {
    '姓名': ['张三', '李四', '王五', '张三'],
    '年龄': [18, 19, 17, 20],
    '性别': ['男', '女', '男', '男'],
    '分数': [90, 85, 95, 80]
}
df = pd.DataFrame(data)

# 检测重复行
duplicate_rows = df.duplicated()
print(duplicate_rows)

# 删除重复行
df_drop_duplicates = df.drop_duplicates()
print(df_drop_duplicates)

通过这些案例,您可以学习如何使用Pandas提供的函数和方法来处理数据清洗和预处理的任务。这些操作可以帮助您处理缺失值、异常值,进行数据转换和规范化,并处理重复数据,使数据适合后续的分析和建模。掌握这些技巧可以提高数据质量和准确性,从而得到更可靠的分析结果。您可以根据实际需求在项目中应用这些技术。

到此这篇关于Pandas数据清洗和预处理的实现示例的文章就介绍到这了,更多相关Pandas数据清洗和预处理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解Python 中的短路评估

    详解Python 中的短路评估

    短路是指当表达式的真值已经确定时终止布尔运算,Python 解释器以从左到右的方式计算表达式,这篇文章主要介绍了Python 中的短路评估,需要的朋友可以参考下
    2023-06-06
  • Django Haystack 全文检索与关键词高亮的实现

    Django Haystack 全文检索与关键词高亮的实现

    这篇文章主要介绍了Django Haystack 全文检索与关键词高亮的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • python3实现暴力穷举博客园密码

    python3实现暴力穷举博客园密码

    这篇文章主要介绍了python3实现暴力穷举博客园密码的相关资料,需要的朋友可以参考下
    2016-06-06
  • python人工智能tensorflow常用激活函数Activation Functions

    python人工智能tensorflow常用激活函数Activation Functions

    这篇文章主要为大家介绍了python人工智能tensorflow常用激活函数Activation Functions的汇总介绍,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Python cookbook(数据结构与算法)根据字段将记录分组操作示例

    Python cookbook(数据结构与算法)根据字段将记录分组操作示例

    这篇文章主要介绍了Python cookbook(数据结构与算法)根据字段将记录分组操作,结合实例形式分析了itertools.groupby()函数针对字典进行分组操作的相关实现技巧,需要的朋友可以参考下
    2018-03-03
  • 一款强大的端到端测试工具Playwright介绍

    一款强大的端到端测试工具Playwright介绍

    这篇文章主要为大家介绍了一款强大的端到端测试工具Playwright介绍,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • python实现bitmap数据结构详解

    python实现bitmap数据结构详解

    bitmap是很常用的数据结构,比如用于Bloom Filter中,下面是使用python实现bitmap数据结构的代码讲解,需要的朋友可以参考下
    2014-02-02
  • Python实现图片转字符画的代码实例

    Python实现图片转字符画的代码实例

    今天小编就为大家分享一篇关于Python实现图片转字符画的代码实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • 基于Django实现日志记录报错信息

    基于Django实现日志记录报错信息

    这篇文章主要介绍了基于Django实现日志记录报错信息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • 如何通过python的fabric包完成代码上传部署

    如何通过python的fabric包完成代码上传部署

    这篇文章主要介绍了如何通过python的fabric包完成代码上传部署,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07

最新评论