Python中数据清洗与处理的常用方法小结

 更新时间:2025年02月18日 09:25:49   作者:大懒猫软件  
数据清洗与处理是数据分析的重要步骤,确保数据的准确性和一致性,这篇文章为大家整理了Python中一些常用的数据清洗与处理方法,需要的可以参考下

数据清洗与处理是数据分析的重要步骤,确保数据的准确性和一致性。Python 提供了多种工具和方法来处理数据,其中 pandas 是最常用的数据处理库。以下是一些常用的数据清洗与处理方法,结合具体代码实现和理论解释。

1. 数据导入与导出

pandas 支持多种数据格式的导入与导出,如 CSV、Excel、JSON 等。

import pandas as pd

# 从 CSV 文件导入数据
df = pd.read_csv('data.csv')

# 从 Excel 文件导入数据
df_excel = pd.read_excel('data.xlsx', sheet_name='Sheet1')

# 从 JSON 文件导入数据
df_json = pd.read_json('data.json')

# 导出到 CSV 文件
df.to_csv('output.csv', index=False)

# 导出到 Excel 文件
df.to_excel('output.xlsx', sheet_name='Sheet1', index=False)

# 导出到 JSON 文件
df.to_json('output.json', orient='records', lines=True)

2. 处理缺失值

缺失值是数据集中常见的问题,pandas 提供了多种方法处理缺失值。

# 检测缺失值
print(df.isnull().sum())  # 检查每列的缺失值数量
print(df.isnull().values.any())  # 检查整个 DataFrame 是否有缺失值

# 删除缺失值
df_cleaned = df.dropna()  # 删除包含任何缺失值的行
df_cleaned = df.dropna(how='all')  # 删除所有列都为缺失值的行

# 填充缺失值
df_filled = df.fillna(0)  # 用特定值填充缺失值
df_filled = df.fillna(method='ffill')  # 用前一个有效值填充缺失值
df_filled = df.fillna(method='bfill')  # 用后一个有效值填充缺失值

3. 处理重复值

重复值可能会影响分析结果,pandas 提供了便捷的方法去除重复数据。

# 查看重复行
duplicates = df[df.duplicated()]
print(duplicates)

# 删除重复行,保留第一次出现
df_unique = df.drop_duplicates()

4. 数据类型转换

数据类型转换是数据清洗中的常见操作,确保数据格式符合分析需求。

# 将某列转换为整数类型
df['age'] = df['age'].astype(int)

# 将某列转换为日期类型
df['date'] = pd.to_datetime(df['date'], errors='coerce')

5. 异常值处理

异常值是指那些与其他数据明显不同的值,可能会对分析结果产生负面影响。

# 使用 IQR 方法检测和处理异常值
Q1 = df.quantile(0.25)
Q3 = df.quantile(0.75)
IQR = Q3 - Q1
df = df[~((df < (Q1 - 1.5 * IQR)) | (df > (Q3 + 1.5 * IQR))).any(axis=1)]

6. 数据标准化与归一化

数据标准化和归一化是数据预处理的重要步骤,有助于提升模型性能。

from sklearn.preprocessing import MinMaxScaler

# 数据归一化
scaler = MinMaxScaler()
df['salary_normalized'] = scaler.fit_transform(df[['salary']])

7. 文本清洗

文本数据可能包含多余的空格、特殊字符等,需要进行清洗。

# 去掉两端空格
df['title'] = df['title'].str.strip()

# 替换特定字符
df['title'] = df['title'].str.replace('[^a-zA-Z0-9\s]', '', regex=True)

# 转换为小写
df['title'] = df['title'].str.lower()

8. 数据分组统计

按特定列分组并进行统计分析。

# 按列分组求均值
grouped = df.groupby('author')['price'].mean()
print(grouped)

9. 数据分箱

将连续变量分段,赋予分类标签。

# 按价格分箱
bins = [0, 10, 20, 30]
labels = ['低', '中', '高']
df['price_level'] = pd.cut(df['price'], bins=bins, labels=labels, right=False)

总结

数据清洗与处理是数据分析中的重要步骤,确保数据的准确性和一致性。Python 的 pandas 库提供了丰富的工具和方法来处理数据,包括处理缺失值、重复值、异常值,数据类型转换,文本清洗,数据分组统计等。通过这些方法,可以有效提高数据质量,为后续的数据分析和机器学习模型训练奠定基础。

到此这篇关于Python中数据清洗与处理的常用方法小结的文章就介绍到这了,更多相关Python数据清洗与处理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python获取服务器响应cookie的实例

    python获取服务器响应cookie的实例

    今天小编就为大家分享一篇python获取服务器响应cookie的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Pygame实战之实现经典外星人游戏

    Pygame实战之实现经典外星人游戏

    这篇文章主要介绍了通过Pygame实现经典的外星人游戏的示例代码,文中的代码讲解详细,对我们了解Pygame有一定的帮助,感兴趣的同学可以试一试
    2022-01-01
  • 详解如何用python实现一个简单下载器的服务端和客户端

    详解如何用python实现一个简单下载器的服务端和客户端

    这篇文章主要介绍了详解如何用python实现一个简单下载器的服务端和客户端,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • Pandas数据分析之批量拆分/合并Excel

    Pandas数据分析之批量拆分/合并Excel

    怎样将一个大的Excel拆分,或者将很多小Excel文件合并?下面这篇文章主要给大家介绍了关于Pandas数据分析之批量拆分/合并Excel的相关资料,需要的朋友可以参考下
    2021-09-09
  • 一文解密Python中的垃圾回收

    一文解密Python中的垃圾回收

    我们知道,python 是一种高级编程语言,它提供了自动内存管理的功能,即垃圾回收机制,所以本文就来聊聊python的垃圾回收机制是如何实现的以及具体是使用,感兴趣的可以了解下
    2023-09-09
  • PyTorch常用函数torch.cat()中dim参数使用说明

    PyTorch常用函数torch.cat()中dim参数使用说明

    这篇文章主要为大家介绍了PyTorch常用函数torch.cat()中dim参数使用说明,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • python中实现修改图像分辨率大小

    python中实现修改图像分辨率大小

    这篇文章主要介绍了python中实现修改图像分辨率大小问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • Python爬虫实例之2021猫眼票房字体加密反爬策略(粗略版)

    Python爬虫实例之2021猫眼票房字体加密反爬策略(粗略版)

    这篇文章主要介绍了Python爬虫实例之2021猫眼票房字体加密反爬策略(粗略版),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • 数组保存为txt, npy, csv 文件, 数组遍历enumerate的方法

    数组保存为txt, npy, csv 文件, 数组遍历enumerate的方法

    今天小编就为大家分享一篇数组保存为txt, npy, csv 文件, 数组遍历enumerate的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • 详解如何使用Pytorch进行多卡训练

    详解如何使用Pytorch进行多卡训练

    这篇文章主要为大家介绍了使用Pytorch进行多卡训练的实现方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04

最新评论