Documentation|Slack|Stack Overflow
从熊猫生成配置文件报告DataFrame
熊猫们df.describe()
函数很棒,但对于严肃的探索性数据分析来说有点基础pandas_profiling
将熊猫DataFrame扩展为df.profile_report()
用于快速数据分析
对于每个列,以下统计信息(如果与列类型相关)显示在交互式HTML报告中:
- 类型推理:检测types数据帧中的列数
- 要领:类型、唯一值、缺少值
- 分位数统计如最小值、Q1、中位数、Q3、最大值、范围、四分位数间范围
- 描述性统计如均值、模态、标准差、和、中位数绝对偏差、变异系数、峰度、偏度
- 最频繁值
- 直方图
- 相关性突出高度相关的变量、Spearman、Pearson和Kendall矩阵
- 缺少值缺失值的矩阵、计数、热图和树状图
- 文本分析了解文本数据的类别(大写、空格)、脚本(拉丁文、西里尔文)和块(ASCII
- 文件和图像分析提取文件大小、创建日期和维度,并扫描截断的图像或包含EXIF信息的图像
公告
发布版本v3.0.0其中对报告配置进行了全面检查,提供了更直观的API并修复了以前全局配置固有的问题
这是第一个坚持Semver和Conventional Commits规格说明
电光后端正在进行中:我们可以很高兴地宣布,用于生成个人资料报告的电光后端已经接近v1。招聘测试者!电光后端将作为此软件包的预发行版发布
pandas-profiling
支持
关于……的发展pandas-profiling
完全依赖于捐款。如果您在该包中发现了价值,我们欢迎您通过以下方式直接支持该项目GitHub Sponsors好了!请帮助我继续支持这个方案。特别令人兴奋的是GitHub与您的贡献相匹配第一年
请在此处查找更多信息:
2021年5月9日💘
内容:Examples|Installation|Documentation|Large datasets|Command line usage|Advanced usage|integrations|Support|Types|How to contribute|Editor Integration|Dependencies
示例
下面的示例可以让您对软件包的功能有一个印象:
- Census Income(美国成人人口普查数据与收入相关)
- NASA Meteorites(陨石落地全套)
- Titanic(数据集的“神奇墙”)
- NZA(荷兰医保局公开数据)
- Stata Auto(1978年汽车数据)
- Vektis(Vektis荷兰医疗数据)
- Colors(简单的颜色数据集)
- UCI Bank Dataset(银行业营销数据集)
- RDW(RDW,荷兰车管所的车辆登记1000万行,71个特征)
具体功能:
- Russian Vocabulary(演示文本分析)
- Cats and Dogs(演示来自文件系统的图像分析)
- Celebrity Faces(使用EXIF信息演示图像分析)
- Website Inaccessibility(演示URL分析)
- Orange prices和Coal prices(展示报告主题)
教程:
安装
使用管道
通过运行以下命令,可以使用pip包管理器进行安装
pip install pandas-profiling[notebook]
或者,您也可以直接从Github安装最新版本:
pip install https://github.com/pandas-profiling/pandas-profiling/archive/master.zip
使用CONDA
通过运行以下命令,可以使用Conda包管理器进行安装
conda install -c conda-forge pandas-profiling
从源开始
通过克隆存储库或按键下载源代码‘Download ZIP’在这一页上
通过导航到正确的目录并运行以下命令来安装:
python setup.py install
文档
的文档pandas_profiling
可以找到here以前的文档仍然可用here
快速入门
首先加载您的熊猫DataFrame,例如使用:
import numpy as np
import pandas as pd
from pandas_profiling import ProfileReport
df = pd.DataFrame(np.random.rand(100, 5), columns=["a", "b", "c", "d", "e"])
要生成报告,请运行以下命令:
profile = ProfileReport(df, title="Pandas Profiling Report")
更深入地探索
您可以按您喜欢的任何方式配置配置文件报告。下面的示例代码将explorative configuration file,它包括文本(长度分布、Unicode信息)、文件(文件大小、创建时间)和图像(尺寸、EXIF信息)的许多功能。如果您对使用的确切设置感兴趣,可以与default configuration file
profile = ProfileReport(df, title="Pandas Profiling Report", explorative=True)
了解有关配置的详细信息pandas-profiling
在Advanced usage页面
木星笔记本
我们建议使用Jupyter笔记本以交互方式生成报告。有两个界面(参见下面的动画):通过小部件和通过HTML报告
这是通过简单地显示报告来实现的。在Jupyter笔记本中,运行:
profile.to_widgets()
HTML报告可以包含在Jupyter笔记本中:
运行以下代码:
profile.to_notebook_iframe()
保存报告
如果要生成HTML报告文件,请保存ProfileReport
添加到对象,并使用to_file()
功能:
profile.to_file("your_report.html")
或者,您也可以以JSON的形式获取数据:
# As a string
json_data = profile.to_json()
# As a file
profile.to_file("your_report.json")
大型数据集
版本2.4引入了最小模式
这是禁用代价高昂的计算(如关联和重复行检测)的默认配置
使用以下语法:
profile = ProfileReport(large_dataset, minimal=True)
profile.to_file("output.html")
有基准可用here
命令行用法
对于熊猫可以立即读取的标准格式的CSV文件,您可以使用pandas_profiling
可执行文件
有关选项和参数的信息,请运行以下命令
pandas_profiling -h
高级用法
可以使用一组选项来调整生成的报告
title
(str
):报告标题(默认为‘Pandas Profiling Report’)pool_size
(int
):线程池中的工作进程数。设置为零时,它将设置为可用CPU数(默认情况下为0)progress_bar
(bool
):如果为True,pandas-profiling
将显示进度条infer_dtypes
(bool
):何时True
(默认)dtype
的变量是使用visions
使用排版逻辑(例如,将整数存储为字符串的列将被视为数字进行分析)
有关更多设置,请参阅default configuration file和minimal configuration file
您可以在高级用法页面上找到配置文档here
示例
profile = df.profile_report(
title="Pandas Profiling Report", plot={"histogram": {"bins": 8}}
)
profile.to_file("output.html")
集成
寄予厚望
分析数据与数据验证密切相关:通常,验证规则是根据众所周知的统计数据定义的。为此,pandas-profiling 与Great Expectations这是一个世界级的开源库,可以帮助您维护数据质量并改善团队之间关于数据的沟通。远大期望允许您创建期望(基本上是数据的单元测试)和数据文档(便于共享的HTML数据报告)pandas-profiling 提供了一种基于ProfileReport的结果创建一套预期的方法,您可以存储这些预期,并使用它来验证另一个(或将来的)数据集
您可以找到有关《远大前程》集成的更多详细信息here |
支持开源
如果没有我们慷慨的赞助商的支持,维护和开发熊猫侧写的开源代码是不可能的,它有数百万的下载量和数千的用户
Lambda workstations、服务器、笔记本电脑和云服务为财富500强公司和94%的前50所大学的工程师和研究人员提供动力。Lambda Cloud提供4个和8个GPU实例,起步价为1.5美元/小时。预装TensorFlow、PyTorch、Ubuntu、CUDA和cuDNN |
我们要感谢我们慷慨的Github赞助商和支持者,是他们让熊猫侧写成为可能:
Martin Sotir, Brian Lee, Stephanie Rivera, abdulAziz, gramster
如果您想出现在此处,请查看更多信息:Github Sponsor page
类型
类型是有效数据分析的强大抽象,它超越了逻辑数据类型(整型、浮点型等)。pandas-profiling
目前,可识别以下类型:布尔值、数值、日期、分类、URL、路径、文件和图像
我们为Python开发了一个类型系统,为数据分析量身定做:visions选择合适的排版既可以提高整体表现力,又可以降低分析/代码的复杂性。要了解更多信息,请执行以下操作pandas-profiling
的类型系统,请签出默认实现here同时,现在完全支持用户自定义摘要和类型定义-如果您有特定的用例,请提出想法或公关!
贡献
请阅读有关参与Contribution Guide
提出问题或开始贡献的一个低门槛的地方是通过接触熊猫-侧写松弛。Join the Slack community
编辑器集成
PyCharm集成
- 安装
pandas-profiling
通过上述说明 - 找到您的
pandas-profiling
可执行文件- 在MacOS/Linux/BSD上:
$ which pandas_profiling (example) /usr/local/bin/pandas_profiling
- 在Windows上:
$ where pandas_profiling (example) C:\ProgramData\Anaconda3\Scripts\pandas_profiling.exe
- 在MacOS/Linux/BSD上:
- 在PyCharm中,转到设置(或首选项在MacOS上)>工具>外部工具
- 单击+图标以添加新的外部工具
- 插入以下值
- 名称:熊猫侧写
- 计划:在步骤2中获得的位置
- 参数:
"$FilePath$" "$FileDir$/$FileNameWithoutAllExtensions$_report.html"
- 工作目录:
$ProjectFileDir$
要使用PyCharm集成,请右键单击任意数据集文件:
外部工具>熊猫侧写
其他集成
其他编辑器集成可以通过拉请求进行贡献
依赖项
配置文件报告是用HTML和CSS编写的,这意味着pandas-profiling
需要现代浏览器
你需要Python 3来运行此程序包。其他依赖关系可以在需求文件中找到:
文件名 | 要求 |
---|---|
requirements.txt | 套餐要求 |
requirements-dev.txt | 发展的要求 |
requirements-test.txt | 测试的规定 |
setup.py | 对微件等的要求 |