Pandas 中文手册

8.6 数据质量检查实战案例

Pandas数据质量检查实战案例:从CSV到影响分析

Pandas 中文手册

本章节通过三个实战案例详细讲解如何使用Pandas进行数据质量检查,包括全面检查CSV文件数据、识别缺失值、重复值和异常值,并分析数据质量问题对后续分析的影响,适合新手学习。

推荐工具
PyCharm专业版开发必备

功能强大的Python IDE,提供智能代码补全、代码分析、调试和测试工具,提高Python开发效率。特别适合处理列表等数据结构的开发工作。

了解更多

数据质量检查实战案例

引言

数据质量是数据分析的基石,如果数据存在质量问题,分析结果可能会产生偏差甚至错误。作为数据分析师或数据科学家,掌握数据质量检查的技能至关重要。本章将通过三个实战案例,教您如何使用Pandas库在Python中高效进行数据质量检查,从加载数据到分析影响,一步步带您入门。

案例1:对CSV文件数据进行全面质量检查

当您首次获得一个CSV格式的数据集时,进行全面质量检查可以帮助您快速了解数据的基本情况,发现潜在问题。以下是一个简单的步骤指南:

  1. 加载数据:使用pd.read_csv()函数读取CSV文件。
  2. 查看数据基本信息:使用df.info()获取列的数据类型和非空值数量。
  3. 预览数据:使用df.head()查看前几行数据,直观了解数据结构。
  4. 检查数据形状:使用df.shape获取数据集的维度(行数和列数)。
  5. 获取统计摘要:使用df.describe()查看数值列的统计信息,如均值、标准差等。

代码示例

import pandas as pd

# 加载CSV文件(请替换为您的文件路径)
df = pd.read_csv('example.csv')

# 查看数据基本信息
print("数据基本信息:")
print(df.info())

# 预览前5行数据
print("\n前5行数据:")
print(df.head())

# 检查数据形状
print(f"\n数据形状:行数={df.shape[0]}, 列数={df.shape[1]}")

# 查看统计摘要(仅针对数值列)
print("\n统计摘要:")
print(df.describe())

通过这个案例,您可以快速诊断数据集是否完整、是否有明显的错误或异常。

案例2:识别数据中的缺失值、重复值与异常值

在全面检查后,深入识别具体问题点是数据清洗的关键。Pandas提供了便捷的工具来处理缺失值、重复值和异常值。

缺失值检查

缺失值指数据中的空值或NaN值,可以通过df.isnull().sum()检查每列的缺失值数量。

# 检查缺失值
print("缺失值统计:")
print(df.isnull().sum())

# 可视化缺失值(可选,帮助直观理解)
import matplotlib.pyplot as plt
import seaborn as sns
sns.heatmap(df.isnull(), cmap='viridis', cbar=False)
plt.title('缺失值分布图')
plt.show()

重复值检查

重复值可能由于数据录入错误导致,使用df.duplicated().sum()检查重复行数。

# 检查重复值
print(f"重复行数:{df.duplicated().sum()}")

# 查看重复行示例
if df.duplicated().sum() > 0:
    print("重复行示例:")
    print(df[df.duplicated(keep='first')].head())
else:
    print("没有发现重复行。")

异常值检查

异常值指数据中明显偏离正常范围的数值,可以通过统计方法(如使用箱线图)识别。

# 绘制箱线图检查异常值(针对数值列)
numeric_cols = df.select_dtypes(include=['number']).columns
if not numeric_cols.empty:
    df[numeric_cols].boxplot()
    plt.title('数值列箱线图(异常值检测)')
    plt.show()
else:
    print("数据集没有数值列,无法进行箱线图分析。")

识别后,您可以根据业务需求决定处理方式,如填充缺失值、删除重复值或修正异常值。

案例3:分析数据质量问题对后续分析的影响

数据质量问题如果不及时处理,会直接影响分析结果的准确性和可信度。让我们通过实例分析来理解这一点:

  • 缺失值的影响:如果数据集中存在大量缺失值,可能会导致统计指标(如平均值)失真。例如,在销售数据分析中,缺失的销售额记录会使总收入计算偏低,影响业务决策。在机器学习中,缺失值可能导致模型训练不充分或预测偏差。

  • 重复值的影响:重复的数据会使统计量(如频次和总和)被夸大。假设您分析用户行为数据,重复的记录可能导致用户活跃度被高估,进而影响产品优化策略。在机器学习中,重复数据可能引起过拟合,模型性能下降。

  • 异常值的影响:异常值如果来自数据录入错误,会扭曲分析结果;如果是真实极端情况,可能代表重要信息被忽略。例如,在收入数据中,一个异常高的值可能是一个错误,影响收入分布分析;也可能是高收入群体的真实数据,需要单独考虑。

实例分析:假设您正在分析一个电商数据集,其中:

  • 缺失了部分用户评价:这可能导致产品评分不准确,影响推荐系统。
  • 存在重复的订单记录:总销售额会被高估,影响财务报告。
  • 异常低的销量值:可能是数据错误或库存问题,需要调查原因。

正确处理这些问题后,后续的分析如数据可视化、假设检验或构建预测模型才能基于可靠数据,得出更有价值的见解。

总结

通过本章的三个实战案例,您学习了使用Pandas进行数据质量检查的完整流程:从加载CSV文件进行全面检查,到识别具体问题如缺失值、重复值和异常值,再到分析这些质量问题对分析的影响。作为新人,建议您在实际项目中多实践这些方法,逐步提升数据清洗能力,确保分析结果的质量。

开发工具推荐
Python开发者工具包

包含虚拟环境管理、代码格式化、依赖管理、测试框架等Python开发全流程工具,提高开发效率。特别适合处理复杂数据结构和算法。

获取工具包