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中翻译功能translate模块实现方法

    python中翻译功能translate模块实现方法

    在本篇文章中小编给各位整理了一篇关于python中翻译功能translate模块实现方法,有需要的朋友们可以参考下。
    2020-12-12
  • 一步步教你用python的scrapy编写一个爬虫

    一步步教你用python的scrapy编写一个爬虫

    这篇文章主要给大家介绍了如何利用python的scrapy编写一个爬虫的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用scrapy具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • Python实现基于POS算法的区块链

    Python实现基于POS算法的区块链

    这篇文章主要介绍了Python实现基于POS算法的区块链,今天我们就来认识POS(proof of stake)算法。需要的朋友可以参考下
    2018-08-08
  • 老生常谈Python startswith()函数与endswith函数

    老生常谈Python startswith()函数与endswith函数

    下面小编就为大家带来一篇老生常谈Python startswith()函数与endswith函数。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • Python处理excel根据全称自动填写简称

    Python处理excel根据全称自动填写简称

    这篇文章主要为大家详细介绍了Python处理excel根据全称自动填写简称,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-03-03
  • 解决Jupyter NoteBook输出的图表太小看不清问题

    解决Jupyter NoteBook输出的图表太小看不清问题

    这篇文章主要介绍了解决Jupyter NoteBook输出的图表太小看不清问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Python set常用操作函数集锦

    Python set常用操作函数集锦

    set是一个无序且不重复的元素集合。这篇文章主要介绍了Python set常用操作函数集锦,需要的朋友可以参考下
    2017-11-11
  •  Python 匿名函数lambda 详情

     Python 匿名函数lambda 详情

    这篇文章主要介绍了 Python 匿名函数lambda,​​lambda​​​  函数返回函数本身而不是将其赋值给一个变量名。所以它也被称为匿名函数,下文更多相关内容需要的小伙伴可以参考一下
    2022-03-03
  • 如何使用 python查询Amazon DynamoDB

    如何使用 python查询Amazon DynamoDB

    本文介绍了如何使用Python Boto3在Amazon DynamoDB上查询DynamoDB 表、创建、列出和执行其他 CRUD 活动以及执行其他维护任务,本文给大家介绍的非常详细,需要的朋友参考下
    2023-06-06
  • 对python周期性定时器的示例详解

    对python周期性定时器的示例详解

    今天小编就为大家分享一篇对python周期性定时器的示例详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02

最新评论