Pandas Profiling库介绍

数据分析领域,理解数据集并从中提取有价值的信息是一项至关重要的任务。传统的数据分析方法可能需要大量的代码和对多种工具的深入了解,例如Pandas、Matplotlib、Seaborn等。然而,Pandas Profiling库的出现大大简化了这一过程,它允许用户通过少量代码生成动态、交互式的探索性数据分析(EDA)表格和可视化图表,无需深入了解多个包的复杂性。

Pandas Profiling库扩展了Pandas DataFrame的功能,通过df.profile_report()方法快速进行数据分析。这种扩展使得创建Pandas DataFrame的分析报告变得轻而易举。探索性数据分析(EDA)是一种通过视觉方式调查和分析数据集以获取知识的策略。EDA用于理解数据集的重要方面,包括值、计数、均值、中位数、四分位数、数据分布、变量之间的相关性、数据类型、数据模型等信息。EDA是一个耗时的过程,需要编写大量代码。

Pandas Profiling是一个Python包,可以自动化EDA过程。它是制作交互式HTML报告的绝佳工具,简化了数据解释和分析。本文将探讨如何在不同环境中安装Pandas Profiling,并展示如何使用它来生成基本的分析报告。

安装Pandas Profiling的不同方式

以下是安装Pandas Profiling的几种方法,用户可以根据自己的环境和需求选择合适的安装方式。

pip install pandas-profiling[notebook]

如果计算机上独立运行Python,可以使用pip包安装器安装pandas profile。在cmd(Windows)或终端(Mac)中运行上述命令。pip安装涵盖了所需的一切,运行pip install后,将看到包括pandas、客户端笔记本、seaborn等在内的多个包。生成分析报告所需的一切也都包括在内。

pip install https://github.com/ydataai/pandas-profiling/archive/master.zip

或者,可以直接从GitHub下载最新版本。

conda install -c conda-forge pandas-profiling

如果决定安装Anaconda包来使用Python,可以通过conda包安装过程安装pandas profile库。在Anaconda终端中运行上述命令。使用conda,所需的一切都将被安装。

克隆仓库或点击页面上的“Download ZIP”按钮。转到选择的目录,并通过运行以下命令进行安装:

python setup.py install

注意:pandas profiling库基于pandas,因此版本必须与pandas profiling库使用的pandas版本相匹配。如果安装了较旧版本的Pandas,Pandas profiling可能会导致错误。在这种情况下,将当前的pandas安装更新到最新版本是一个解决方案。要强制当前的pandas更新,回到控制台并提供以下命令:

pip install --upgrade --force-reinstall pandas

现在pandas版本是最新的。

Google Colab中的案例研究

Pandas Profiling报告——“基本构建块”。Pandas profiling库的输出可以说是非常简单的。可以使用以下代码构建一个称为分析报告的通用输出。

import pandas as pd from pandas_profiling import ProfileReport pd.set_option('display.max_colwidth', None) %matplotlib inline df = pd.read_excel('GA NMU.xlsx')

分析报告非常有用,它们是完全可编辑的。下一段代码加载了一个导航配置,包括文本(长度分布、Unicode数据)、文件(文件大小、创建时间)和图像(尺寸、EXIF信息)的多个特性。

profile.to_notebook_iframe()

运行查询的样本输出

profile.to_file(output_file='Pandas ProfilingReport.html')

对于每个列,如果与列类型相关,则在交互式HTML报告中呈现以下统计数据:

  • 类型推断:检测数据框中列的类型。
  • 基本统计:类型、唯一值、缺失值。
  • 分位数统计:最小值、Q1、中位数、Q3、最大值、范围、四分位距。
  • 描述性统计:均值、众数、标准差、总和、中位数绝对偏差、变异系数、峰度、偏度。
  • 最频繁的值。
  • 直方图。
  • 相关性:突出显示高度相关的变量,Spearman、Pearson和Kendall矩阵。
  • 缺失值:矩阵、计数、热图和缺失值的树状图。
  • 文本分析:了解文本数据块(ASCII)、脚本(拉丁语、西里尔语)和类别(大写、空格)。
  • 文件和图像分析:提取文件大小、创建日期和尺寸,并扫描截断的图像或包含EXIF信息的图像。

Pandas Profiling报告中的几个部分

概览:上述显示了超过五页数据和可视化的一部分。这是一个基本的实现,如前所述。报告的标题是唯一的可选添加(在上图中未显示)。可以看到“Toggle Details”小部件。当用户点击小部件(按钮)时,会显示特定细节的列表。

此部分提供此部分的一般信息。变量类型和数据统计。记录统计显示列、行、缺失值等。变量类型指示记录属性的数据类型。还有一个“警告”,列出了与其他函数有强关联的函数。

此部分为每个特征单独提供详细信息。当选择上述图像中指示的“Toggle Details”选项时,将显示一个新部分。

相关性:此部分使用Seaborn热图来说明特征之间的关系。轻松切换不同的相关性,包括皮尔逊、斯皮尔曼和肯德尔矩阵。

样本:此部分显示数据集的前10行和后10行。

Pandas Profiling报告的高级选项

在pandas profiling报告中有许多选项和复杂的参数。报告的视觉输出以及每个图表和可视化的详细信息都由设置控制。

以下是一些应该知道的可选设置:

  • 标题:标题属性设置报告的标题。这个可选属性在创建分析报告时设置。上面代码的第三行显示了一个示例。
  • to_file():分析报告以HTML文件的形式生成,可以存储在Jupyter笔记本之外。创建的分析报告是一个HTML文件,因此请注意这一点。
profile.to_file(“flights_data.html”)

设置可以用两种不同的方式使用。创建分析报告时,第一个选项使用字典作为额外的特性进行修改。第二个选择再次使用字典定义键值对,并使用点表示法导航到必要的参数。

from pandas_profiling import ProfileReport profile = ProfileReport(df, minimal=True) profile.to_file(output_file="output.html")
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485