使用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后,报告会只包含概览和变量分析,不包括相关性分析、缺失值等部分。也可以单独控制要展示的内容。

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

目录
相关文章
|
5月前
|
机器学习/深度学习 数据可视化 搜索推荐
Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。
【7月更文挑战第5天】Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。流程包括数据获取、预处理、探索、模型选择、评估与优化,以及结果可视化。示例展示了用户行为、话题趋势和用户画像分析。Python的丰富生态使得社交媒体洞察变得高效。通过学习和实践,可以提升社交媒体分析能力。
89 1
|
1月前
|
数据可视化 Python
Pandas 相关性分析
Pandas 相关性分析
32 1
|
2月前
|
数据可视化 数据挖掘 Python
Pandas数据探索性可视化的最佳实践
【10月更文挑战第13天】数据可视化是数据分析中不可或缺的一环,它帮助我们更好地理解数据、发现趋势和模式,并有效地传达我们的发现。在Python领域,Pandas和Matplotlib是两个非常强大的库,它们提供了丰富的功能来进行数据分析和可视化。本文将介绍如何结合使用Pandas和Matplotlib进行数据探索性可视化的最佳实践。
64 9
|
3月前
|
数据采集 数据挖掘 数据处理
Pandas实践:南京地铁数据处理分析
Pandas实践:南京地铁数据处理分析
46 2
|
3月前
|
数据挖掘 Python
掌握Pandas中的相关性分析:corr()方法详解
掌握Pandas中的相关性分析:corr()方法详解
291 0
|
3月前
|
数据处理 Python
Pandas实践(续):2023年南京地铁客运量分析
Pandas实践(续):2023年南京地铁客运量分析
55 0
|
4月前
|
分布式计算 数据可视化 大数据
Vaex :突破pandas,快速分析100GB大数据集
Vaex :突破pandas,快速分析100GB大数据集
|
4月前
|
存储 数据挖掘 API
多快好省地使用pandas分析大型数据集
多快好省地使用pandas分析大型数据集
|
6月前
|
数据采集 存储 数据可视化
Pandas高级教程:数据清洗、转换与分析
Pandas是Python的数据分析库,提供Series和DataFrame数据结构及数据分析工具,便于数据清洗、转换和分析。本教程涵盖Pandas在数据清洗(如缺失值、重复值和异常值处理)、转换(数据类型转换和重塑)和分析(如描述性统计、分组聚合和可视化)的应用。通过学习Pandas,用户能更高效地处理和理解数据,为数据分析任务打下基础。
774 3