使用pandas_profiling对数据探索性分析

简介: 使用pandas_profiling对数据探索性分析

1pandas_profiling简介

pandas_profiling是一个基于pandas库的开源数据分析工具,能快速对DataFrame中的数据进行统计分析,并生成数据报告。它可以极大简化数据分析流程,自动计算各个特征之间的相关性、缺失值分布、数据类型等。pandas_profiling的主要功能包括:

  • 计算各数字类型特征的基本统计量,如平均值、中位数、方差等
  • 绘制各分类类型特征的频数分布直方图
  • 检测并标注出缺失值
  • 利用相关系数矩阵检测变量间的相关性
  • 自动对异常值进行标注
  • 生成各种图表,直观显示各特征的统计分布 pandas_profiling可以快速概览原始数据的情况,对进行数据分析和特征工程非常有帮助。

2安装pandas_profiling

pandas_profiling可以通过pip直接安装:

pip install pandas-profiling

安装完成后,就可以导入并使用这个模块了:

import pandas as pd
import pandas_profiling

3pandas_profiling使用

pandas_profiling的使用非常简单,只需要对pandas的DataFrame运行profile_report方法,就可以生成分析报告。例如有这样一个DataFrame:

data = pd.DataFrame({
    'name':['张三', '李四', '王五','赵六', '陈七', '吴八'],
    'age':[22, 23, 24,32, 33, 36],
    'gender':['男','女', '男','男','女','男'],
    'salary': [5200, 1500,19000,30000, 33000, 31000],
})

直接使用:

pandas_profiling.ProfileReport(data)

就可以生成一份数据分析报告,报告页面如下图所示:

从报告可以清晰地看到数据中的各特征分布,包括:

  • Overview概览:显示各特征的数据类型、缺失值比例、唯一值数等
  • Variables变量:显示各数字特征的统计量分布,及分类特征的频数分布
  • Correlations相关性:显示各特征间的相关性矩阵
  • Missing values缺失值:显示缺失值的数量及比例
  • Warnings警告:会标注出一些异常值或可能存在问题的值 这样的报告可以非常快速直观地了解一个陌生数据集的整体情况。

为报告设置标题

可以通过title参数为报告设置自定义的标题:

profile = pandas_profiling.ProfileReport(data, title="用户数据报告")

保存报告到文件

默认情况下,ProfileReport会直接在Jupyter Notebook里展示报告。如果要保存报告html文件,可以使用to_file方法:

profile.to_file(output_file="report.html")

这样就会将报告保存到report.html文件中。

自定义报告内容

可以通过设置minimal参数来自定义报告的内容:

profile = pandas_profiling.ProfileReport(
    data,
    minimal=True
)

设置为True后,报告会只包含概览和变量分析,不包括相关性分析、缺失值等部分。也可以单独控制要展示的内容。

以上只是一个很简单的案例,对于复杂数据也可以使用以上方法,快速探索数据之间的关系。

相关文章
|
6天前
|
索引 Python
Pandas 高级教程——高级时间序列分析
Pandas 高级教程——高级时间序列分析
95 4
|
5月前
|
SQL 数据可视化 数据挖掘
强大且灵活的Python数据处理和分析库:Pandas
强大且灵活的Python数据处理和分析库:Pandas
317 1
|
6天前
|
数据挖掘 索引 Python
如何在Python中,Pandas库实现对数据的时间序列分析?
【4月更文挑战第21天】Pandas在Python中提供了丰富的时间序列分析功能,如创建时间序列`pd.date_range()`,转换为DataFrame,设置时间索引`set_index()`,重采样`resample()`(示例:按月`'M'`和季度`'Q'`),移动窗口计算`rolling()`(如3个月移动平均)以及季节性调整`seasonal_decompose()`。这些工具适用于各种时间序列数据分析任务。
20 2
|
6天前
|
监控 数据挖掘 数据处理
《Pandas 简易速速上手小册》第6章:Pandas 时间序列分析(2024 最新版)
《Pandas 简易速速上手小册》第6章:Pandas 时间序列分析(2024 最新版)
13 1
|
6天前
|
数据采集 机器学习/深度学习 数据挖掘
《Pandas 简易速速上手小册》第4章:Pandas 数据探索与处理(2024 最新版)
《Pandas 简易速速上手小册》第4章:Pandas 数据探索与处理(2024 最新版)
37 1
|
6天前
|
供应链 搜索推荐 数据挖掘
Pandas实战案例:电商数据分析的实践与挑战
【4月更文挑战第16天】本文通过一个电商数据分析案例展示了Pandas在处理销售数据、用户行为分析及商品销售趋势预测中的应用。在数据准备与清洗阶段,Pandas用于处理缺失值、重复值。接着,通过用户购买行为和商品销售趋势分析,构建用户画像并预测销售趋势。实践中遇到的大数据量和数据多样性挑战,通过分布式计算和数据标准化解决。未来将继续深入研究Pandas与其他先进技术的结合,提升决策支持能力。
|
6天前
|
存储 数据可视化 数据挖掘
实战案例:Pandas在金融数据分析中的应用
【4月更文挑战第16天】本文通过实例展示了Pandas在金融数据分析中的应用。案例中,一家投资机构使用Pandas加载、清洗股票历史价格数据,删除无关列并重命名,将日期设为索引。接着,数据被可视化以观察价格走势,进行基本统计分析了解价格分布,以及计算移动平均线来平滑波动。Pandas的便捷功能在金融数据分析中体现出高效率和实用性。
|
6天前
|
数据采集 数据可视化 算法
Python在大数据分析中的力量:Pandas、NumPy与SciPy
【4月更文挑战第8天】Pandas、NumPy和SciPy是Python数据分析的核心,构成其在大数据领域的重要地位。Pandas提供高效的数据操作,包括DataFrame和Series结构,以及数据清洗和预处理工具。NumPy专注于数组计算,提供高性能的ndarray和数学函数。SciPy则包含专业算法,适用于科学与工程计算。这三者协同工作,覆盖数据分析的全过程,形成强大的Python生态系统。随着社区的不断创新和新库的涌现,如Dask和CuDF,Python在大数据分析领域的潜力将持续增长。
54 0
|
6天前
|
SQL JSON 数据格式
精通 Pandas 探索性分析:1~4 全
精通 Pandas 探索性分析:1~4 全
27 0
|
6天前
|
存储 并行计算 数据挖掘
利用Numpy和Pandas对地铁客量数据进行实战分析(附源码)
利用Numpy和Pandas对地铁客量数据进行实战分析(附源码)
46 0