当前位置: 代码网 > it编程>前端脚本>Python > 一文详解Python中数据清洗与处理的常用方法

一文详解Python中数据清洗与处理的常用方法

2025年02月14日 Python 我要评论
在数据处理与分析过程中,缺失值、重复值、异常值等问题是常见的挑战。本文总结了多种数据清洗与处理方法:缺失值处理包括删除缺失值、固定值填充、前后向填充以及删除缺失率高的列;重复值处理通过删除或标记重复项

在数据处理与分析过程中,缺失值、重复值、异常值等问题是常见的挑战。

本文总结了多种数据清洗与处理方法:

缺失值处理包括删除缺失值、固定值填充、前后向填充以及删除缺失率高的列;

重复值处理通过删除或标记重复项解决数据冗余问题;

异常值处理采用替换或标记方法控制数据质量;

数据类型转换确保数据格式符合分析需求,例如转换为整数或日期类型;

文本清洗包括去空格、字符替换及转换大小写等操作。

此外,还介绍了数据分组统计、数据分箱与标准化的应用。例如,分组统计可按列求均值,数据分箱能为连续变量赋予分类标签,而归一化则通过压缩数据范围提升模型表现。这些方法能有效提高数据质量与分析效率,是数据科学中不可或缺的能。         

缺失值处理

删除缺失值

df_dropped = df.dropna()
print("\n删除缺失值后:")
print(df_dropped)

用固定值填充缺失值

df_filled = df.fillna({
    'title': 'unknown',
    'author': 'unknown author',
    'price': df['price'].mean()
})
print("\n填充缺失值后:")
print(df_filled)

前向填充

df_ffill = df.fillna(method='ffill')
print("\n前向填充缺失值后:")
print(df_ffill)

后向填充

df_bfill = df.fillna(method='bfill')
print("\n后向填充缺失值后:")
print(df_bfill)

删除缺失率高的列

df_dropped_cols = df.dropna(axis=1, thresh=len(df) * 0.5)  
print("\n删除缺失率高的列后:")
print(df_dropped_cols)

重复值处理

删除重复值

df_deduplicated = df.drop_duplicates()
print("\n删除重复值后:")
print(df_deduplicated)

标记重复值

df['is_duplicate'] = df.duplicated()
print("\n标记重复值后:")
print(df)

异常值处理

替换异常值

df['price'] = df['price'].apply(lambda x: x if 0 <= x <= 100 else df['price'].mean())
print("\n替换异常值后:")
print(df)

标记异常值

df['is_outlier'] = df['price'].apply(lambda x: 1 if x < 0 or x > 100 else 0)
print("\n标记异常值后:")
print(df)

数据类型转换

转换为整数类型

df['price'] = df['price'].astype(int)
print("\n转换为整数后:")
print(df)

转换为日期类型

df['date'] = pd.to_datetime(df['date'], errors='coerce')
print("\n转换为日期类型后:")
print(df)

文本清洗

去掉两端空格

df['title'] = df['title'].str.strip()
print("\n去掉两端空格后:")
print(df)

替换特定字符

df['title'] = df['title'].str.replace('[^a-za-z0-9\s]', '', regex=true)
print("\n替换特定字符后:")
print(df)

转换为小写

df['title'] = df['title'].str.lower()
print("\n转换为小写后:")
print(df)

数据分组统计

按列分组求均值

grouped = df.groupby('author')['price'].mean()
print("\n按作者分组的平均价格:")
print(grouped)

数据分箱

按价格分箱

bins = [0, 10, 20, 30]
labels = ['低', '中', '高']
df['price_level'] = pd.cut(df['price'], bins=bins, labels=labels, right=false)
print("\n按价格分箱后:")
print(df)

数据标准化

归一化处理

from sklearn.preprocessing import minmaxscaler
scaler = minmaxscaler()
df['price_scaled'] = scaler.fit_transform(df[['price']])
print("\n归一化后的数据:")
print(df)

到此这篇关于一文详解python中数据清洗与处理的常用方法的文章就介绍到这了,更多相关python数据清洗与处理内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

  • python中ransac算法拟合圆的实现

    ransac为random sample consensus随机样本一致算法的缩写,它是根据一组包含异常数据的样本数据集,计算出数据的数学模型参数,得到有效样本数据的算法。它于19…

    2025年02月14日 前端脚本
  • pip install 安装路径修改的方法步骤

    一般我们需要安装第三方库的时候,都是进入cmd中用pip命令来进行安装。安装各类包,但是默认安装路径在c盘,极大占用空间,下面我们就来修改一下默认的安装路径。1,查看pip默认的安…

    2025年02月14日 前端脚本
  • 使用Python生成新春烟花效果的方法

    使用Python生成新春烟花效果的方法

    一、烟花效果的基本原理烟花效果的实现需要模拟以下几个关键过程:烟花发射:模拟烟花从底部发射到空中的过程。爆炸中心:烟花到达顶点后形成爆炸中心。粒子散射:烟花爆炸... [阅读全文]
  • Pyecharts图表交互功能的实现

    在数据可视化中,交互功能可以极大地提升用户体验,让用户能够更加深入地探索数据。pyecharts 提供了多种强大的交互功能,本篇将重点介绍如何使用缩略轴组件、配置图例交互,让我们的…

    2025年02月14日 前端脚本
  • Python读写常用数据文件的示例详解

    Python读写常用数据文件的示例详解

    python 提供了多种强大的工具和库,可以轻松实现对各种类型文件的读写操作,满足不同场景的数据处理需求。常见的文件类型包括文本文件(txt)、表格文件(csv... [阅读全文]
  • Pyecharts之特殊图表的实现示例

    Pyecharts之特殊图表的实现示例

    在数据可视化的世界里,除了常见的柱状图、折线图、饼图等,还有一些特殊的图表可以为我们带来独特的展示效果,帮助我们以更有趣、更直观的方式呈现数据。pyechart... [阅读全文]

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com