Py之ydata-profilin:ydata-profiling的简介、安装、使用方法之详细攻略

news2025/1/10 20:20:59

Py之ydata-profilin:ydata-profiling的简介、安装、使用方法之详细攻略

目录

ydata-profiling的简介

1、主要特点

2、案例应用

(1)、比较数据集、对时序数据集进行分析、对大型数据集进行分析、处理敏感数据、数据集元数据和数据字典、自定义报告的外观、不同类型的存储中消耗数据

(2)、该软件包在各种数据集和数据类型中的潜力

3、pandas-profiling命令已改为ydata-profiling

(1)、如何修复主要用例的错误

(2)、关于 pandas-profiling

ydata-profiling的安装

ydata-profiling的使用方法

1、基础用法

(1)、生成标准的分析报告

(2)、在Jupyter Notebooks中

(3)、在命令行中使用


ydata-profiling的简介

ydata-profiling 的主要目标是在一致且快速的解决方案中提供一行探索性数据分析(EDA)体验。与 pandas 的 df.describe() 函数一样方便,ydata-profiling 提供了对 DataFrame 的扩展分析,同时允许将数据分析导出为不同格式,如 html 和 json。该软件包输出了数据集的简单和简洁的分析,包括时间序列和文本。

寻找一个可扩展的解决方案,可以完全与您的数据库系统集成吗?利用 YData Fabric 数据目录连接到不同的数据库和存储(Oracle、snowflake、PostGreSQL、GCS、S3 等),在 Fabric 中利用交互式和引导式分析体验。查看社区版本。

1、主要特点

>> 类型推断:自动检测列的数据类型(分类、数值、日期等)

>> 警告:列出数据中可能需要处理的问题/挑战的摘要(缺失数据、不准确性、偏斜度等)

>> 单变量分析:包括描述性统计(均值、中位数、众数等)和信息丰富的可视化,如分布直方图

>> 多变量分析:包括相关性、详细分析缺失数据、重复行,并支持变量成对交互的可视化

>> 时间序列:包括相对于时间相关的不同统计信息,如自相关性和季节性,以及 ACF 和 PACF 图。

>> 文本分析:最常见的类别(大写、小写、分隔符)、脚本(拉丁文、西里尔文)和块(ASCII、西里尔文)

>> 文件和图像分析:文件大小、创建日期、维度、截断图像的指示和 EXIF 元数据的存在

>> 比较数据集:一行解决方案,快速完整地比较数据集的报告

>> 灵活的输出格式:所有分析都可以导出为 HTML 报告,可以轻松与不同方进行共享,以 JSON 格式导出以便于在自动化系统中集成,以 Jupyter Notebook 中的小部件形式导出。

报告包含三个额外的部分:

>> 概览:关于数据集的全局细节(记录数、变量数、整体缺失率和重复率、内存占用)

>> 警告:潜在数据质量问题的综合和自动列表(高相关性、偏斜度、均匀性、零、缺失值、常量值等)

>> 重现:有关分析的技术细节(时间、版本和配置)

2、案例应用

(1)、比较数据集对时序数据集进行分析对大型数据集进行分析处理敏感数据数据集元数据和数据字典自定义报告的外观不同类型的存储中消耗数据

比较数据集 比较同一数据集的多个版本

对时序数据集进行分析 用一行代码为时序数据集生成报告

对大型数据集进行分析 关于如何准备数据和配置 ydata-profiling 以处理大型数据集的提示

处理敏感数据 生成对输入数据集中敏感数据谨慎考虑的报告

数据集元数据和数据字典 用数据集详细信息和列特定的数据字典补充报告

自定义报告的外观 更改报告页面和包含的可视化的外观

对数据库进行分析 对组织的数据库进行无缝分析体验,请查看 Fabric 数据目录,它允许从不同类型的存储中消耗数据,如 RDBMs(Azure SQL、PostGreSQL、Oracle 等)和对象存储(Google Cloud Storage、AWS S3、Snowflake 等),等等。

在 Jupyter Notebooks 中使用

有两种接口可以在 Jupyter 笔记本中使用报告:通过小部件和通过嵌入式 HTML 报告。

Use case

Description

Comparing datasets

Comparing multiple version of the same dataset

Profiling a Time-Series dataset

Generating a report for a time-series dataset with a single line of code

Profiling large datasets

Tips on how to prepare data and configure ydata-profiling for working with large datasets

Handling sensitive data

Generating reports which are mindful about sensitive data in the input dataset

Dataset metadata and data dictionaries

Complementing the report with dataset details and column-specific data dictionaries

Customizing the report's appearance

Changing the appearance of the report's page and of the contained visualizations

Profiling Databases

For a seamless profiling experience in your organization's databases, check Fabric Data Catalog, which allows to consume data from different types of storages such as RDBMs (Azure SQL, PostGreSQL, Oracle, etc.) and object storages (Google Cloud Storage, AWS S3, Snowflake, etc.), among others.

(2)、该软件包在各种数据集和数据类型中的潜力

  • Census Income (US Adult Census data relating income with other demographic properties)
  • NASA Meteorites (comprehensive set of meteorite landing - object properties and locations) 
  • Titanic (the "Wonderwall" of datasets)  
  • NZA (open data from the Dutch Healthcare Authority)
  • Stata Auto (1978 Automobile data)
  • Colors (a simple colors dataset)
  • Vektis (Vektis Dutch Healthcare data)
  • UCI Bank Dataset (marketing dataset from a bank)
  • Russian Vocabulary (100 most common Russian words, showcasing unicode text analysis)
  • Website Inaccessibility (website accessibility analysis, showcasing support for URL data)
  • Orange prices and
  • Coal prices (simple pricing evolution datasets, showcasing the theming options)
  • USA Air Quality (Time-series air quality dataset EDA example)
  • HCC (Open dataset from healthcare, showcasing compare between two sets of data, before and after preprocessing)

3、pandas-profiling命令已改为ydata-profiling

pandas-profiling 软件包的命名已更改。要继续对数据进行分析,请使用 ydata-profiling!该存储库实现了在 PyPI 上停用 pandas-profiling 软件包的减负策略。

随着pandas-profiling 的发展,有一个新的令人兴奋的功能 - 从版本 4.0.0 开始,我们很高兴地宣布,Spark 现在已经成为数据分析家族的一部分。随着其引入,还有一个新的命名需求,一个能够使分析的概念与 Pandas 数据框分离的命名 - ydata-profiling!

但不用担心,pip install pandas-profiling 仍然有效一段时间,我们将继续投入资源,使其成为最好的开源数据分析工具,以便您可以将其用于更多的用例。

(1)、如何修复主要用例的错误

使用 pip install ydata-profiling 而不是 pip install pandas-profiling

在您的 pip 要求文件中(如 requirements.txt、setup.py、setup.cfg、Pipfile 等...)用 ydata-profiling 替换 pandas-profiling

如果 pandas-profiling 软件包被您的一个依赖项使用,请花点时间跟踪哪个软件包使用 pandas_profiling 而不是 ydata_profiling 进行导入

弃用时间表

ydata-profiling 在 2 月 1 日发布。

pip install pandas-profiling 仍将在 4 月 1 日之前受支持,但会发出警告。from pandas_profiling import ProfileReport 将在 4 月 1 日之前受支持。

4 月 1 日之后,如果使用 pip install pandas-profiling,将会发出错误。请改为使用 pip install ydata-profiling。

4 月 1 日之后,如果使用 from pandas_profiling import ProfileReport,则会发出错误。请改为使用 from ydata_profiling import ProfileReport。

(2)、关于 pandas-profiling

pandas-profiling 的主要目标是提供一种一行代码的探索性数据分析(EDA)体验,以一致和快速的解决方案。就像 pandas 的 df.describe() 函数一样方便,pandas-profiling 提供了对 DataFrame 的扩展分析,同时允许将数据分析导出为不同格式,如 html 和 json。

该软件包输出了数据集的简单和简洁的分析,包括时间序列和文本。

ydata-profiling的安装

pip install ydata-profiling
pip install -i https://mirrors.aliyun.com/pypi/simple ydata-profiling
或
conda install -c conda-forge ydata-profiling

该软件包声明了“额外功能”,即一组额外的依赖项。
[notebook]:支持在 Jupyter 笔记本中呈现报告。
[unicode]:支持更详细的 Unicode 分析,但需要更多的磁盘空间。
[pyspark]:支持 pyspark 进行大型数据集分析
可以使用以下命令安装这些功能,例如
pip install -U ydata-profiling[notebook,unicode,pyspark]
pip install -i https://mirrors.aliyun.com/pypi/simple -U ydata-profiling[notebook,unicode,pyspark]

ydata-profiling的使用方法

1、基础用法

(1)、生成标准的分析报告

import numpy as np
import pandas as pd
from ydata_profiling import ProfileReport
df = pd.DataFrame(np.random.rand(100, 5), columns=["a", "b", "c", "d", "e"])
# 要生成标准的分析报告,只需运行:
profile = ProfileReport(df, title="Profiling Report")

(2)、在Jupyter Notebooks中


profile.to_widgets()
# HTML 报告可以直接以类似的方式嵌入单元格中:
profile.to_notebook_iframe()
# 将报告导出到文件
# 要生成 HTML 报告文件,请将 ProfileReport 保存到对象中,并使用 to_file() 函数:
profile.to_file("your_report.html")
# 或者,可以将报告的数据作为 JSON 文件获得:
# 作为 JSON 字符串
json_data = profile.to_json()
# 作为文件
profile.to_file("your_report.json")

(3)、在命令行中使用

对于标准格式的 CSV 文件(可以直接由 pandas 读取而无需其他设置),可以在命令行中使用 ydata_profiling 可执行文件。下面的示例生成名为 Example Profiling Report 的报告,使用名为 default.yaml 的配置文件,在 report.html 文件中处理 data.csv 数据集。

ydata_profiling --title "Example Profiling Report" --config_file default.yaml data.csv report.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1461270.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

yolov5-tracking-xxxsort yolov5融合六种跟踪算法(一)--环境配置CPU版本

本次开源计划主要针对大学生无人机相关竞赛的视觉算法开发。 开源代码仓库链接:https://github.com/zzhmx/yolov5-tracking-xxxsort.git 如果需要配置GPU版本环境可以查看我的这篇博客:yolov5-tracking-xxxsort yolov5融合六种跟踪算法(一&am…

动态表格 点击单元格查看完整内容

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>分享收藏</title><script src"https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script><style…

Java零基础 - 逻辑运算符

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互相学习&#xff0c;一个人虽可以走的更快&#xff0c;但一群人可以走的更远。 我是一名后…

[word] word带圈数字20以上 #笔记#笔记

word带圈数字20以上 办公中有时候需要用到带圈数字&#xff0c;超过20的数字就不能直接编辑了&#xff0c;那么20以上带圈数字要怎么输入呢&#xff1f;其实通过小技巧就能完成的&#xff0c;接下来就给大家介绍下呢&#xff0c;一起看看吧&#xff01; 20以上带圈数字输入技巧…

LaunchPad 市场的复苏,Penpad 成新兴生力军

以 Fair Launch 为主要启动方式的铭文市场的爆发&#xff0c;推动了 LaunchPad 市场的复苏&#xff0c;绝多数所铭文项目都能通过 Fairr Launch 的方式筹集资金实现启动&#xff0c;该赛道的爆发不仅推动了数百亿美元的热钱开始在链上不断涌动&#xff0c;同时也进一步形成了新…

String为什么是不可变的?

一、String字符串类型的数据结构 首先&#xff0c;String类是由 final 关键字修饰&#xff0c;这说明String 不可被继承。其次&#xff0c;由源代码可以看出String的成员字段value是一个char[ ]数组&#xff0c;在后面所有的String方法里都不提供修改Array数组的方法&#xff0…

torch.manual_seed(233333)

torch.manual_seed&#xff08;233333&#xff09; 介绍报错信息解决问题总结 介绍 这是在使用GPT-SoVITS时运行缺失pytorch导致报的错 报错信息 Traceback (most recent call last): File “D:\vits\GPT-SoVITS-beta\GPT-SoVITS-beta0217\webui.py”, line 10, in torch.m…

文件上传漏洞--Upload-labs--Pass17--条件竞争

一、条件竞争原理&#xff08;结合代码审计&#xff09; 1、首先进行代码审计&#xff0c;查看源代码。 我们可知&#xff0c;将文件上传至服务器后&#xff0c;不会被立即删除&#xff0c;而是做短暂的停留&#xff0c;中间会有一小部分时间差&#xff0c;这部分时间差是代码…

STM32使用软件SPI协议操作TFT18彩屏

时间记录&#xff1a;2024/2/20 一、SPI协议介绍 &#xff08;1&#xff09;SPI设备通过4根线进行通信&#xff0c;CS片选线&#xff0c;选择从设备&#xff0c;SCK时钟线&#xff0c;由主设备产生时钟&#xff0c;主机MOSI线连从机MISO线&#xff0c;由主机向从机发送信息&am…

HighTec编译器系列之01新建工程

HighTec编译器系列之01新建工程 继上篇《Hightec编译器系列之白嫖就是爽》小T告诉大家如何白嫖HighTec编译器长达一年之久之后&#xff0c;今天小T告诉大家如何进行HighTec编译器IDE的基础操作-即新建HighTec工程。 以下是本期内容的行文大纲&#xff1a; S1&#xff1a;创建…

Cesium for Unreal 从源码编译到应用——插件编译

一、安装环境 Unreal Engine 5.3 CMake 3.17.5 Microsoft Visual Studio 2019 二、源码准备 下载cesium-unreal-samples工程。 git clone https://github.com/CesiumGS/cesium-unreal-samples.git 然后在工程目录创建Plugins文件夹&#xff0c;并下载cesium-unreal工程。 …

java常用应用程序编程接口(API)——Objects类和包装类

前言&#xff1a; Object类和Objects类是完全不同的两个类&#xff0c;之前有说过Object类&#xff0c;这次说一下Objects类。打好基础&#xff0c;daydayup! Object类可以看这篇&#xff1a;java常用应用程序编程接口&#xff08;API&#xff09;——Object类概述及常用方法 O…

IIC通信驱动硬件编程 (1)

1、IIC协议基础 I2C( IIC )属于两线式串行总线&#xff0c;由飞利浦公司开发用于微控制器(MCU)和外围设备(从设备)进行通信的一种总线&#xff0c;属于一主多从即一个主设备(Master)&#xff0c;多个从设备(Slave))的总线结构&#xff0c;总线上的每个设备都有一个特定的设备地…

MR(混合现实)系统的开发流程

MR&#xff08;混合现实&#xff09;系统是一种将虚拟信息与真实世界环境相结合的技术&#xff0c;通过头戴式显示器、智能手机等设备将虚拟对象叠加在用户的真实感知中。它可以让用户与虚拟对象进行互动&#xff0c;并在真实环境中观察虚拟对象的行为。MR&#xff08;混合现实…

this的指向问题总结

this一般会出现在函数里面&#xff0c;但是一般情况下只有在函数被调用执行时&#xff0c;才能确定this指向哪个对象。一般情况下this是指调用函数的对象。 1.在全局作用域下或者普通函数中this的指向一般都是window对象 window.fn&#xff08;&#xff09;&#xff0c;普通函…

​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】

欢迎来CILMY23的博客喔&#xff0c;本期系列为​【C语言】长篇详解&#xff0c;字符系列篇3-----strstr&#xff0c;strtok&#xff0c;strerror字符串函数的使用【图文详解​】&#xff0c;图文讲解各种字符串函数&#xff0c;带大家更深刻理解C语言中各种字符串函数的应用&am…

35年的卓越成就:威步在网络安全和软件授权领域持续领先

1989-2023&#xff1a;威步成立35年里程碑。这35年中&#xff0c;公司始终致力于业务连续性、技术进步和团队凝聚力。 ​全球信任与在地优势&#xff1a;威步凭借其全球渠道合作伙伴网络&#xff0c;确保国际客户像信赖本地优质企业一样信赖他们。 传统与创新&#xff1a;威步…

Solidworks:焊件(型材)结构构件设计

焊件&#xff08;型材&#xff09;结构构件设计是Solidworks的一大特色。使用这一功能&#xff0c;能够体会到这款软件的架构设计在逐步递进增加软件功能方面做出的特别努力。 设计一个三角形框架 正面&#xff1a; 换个角度观察&#xff1a; 再来一个练习&#xff0c;包含…

顺序表详解(SeqList)

本文使用C语言进行顺序表的代码实现。 博主将使用代码和相关知识相结合的方式进行讲解&#xff0c;简单易懂&#xff0c;懵懂的大学生一听就会~ 顺序表是一种线性表的存储结构&#xff0c;它将数据元素存储在一段连续的存储空间中&#xff0c;每个元素占据一个存储单元&#x…

Spring Security 认证授权安全框架

Spring Security概述 1.什么是Spring Security? Spring Security是一个Java框架&#xff0c;用于保护应用程序的安全性。它提供了一套全面的安全解决方案&#xff0c;包括身份验证、授权、防止攻击等功能。Spring Security基于过滤器链的概念&#xff0c;可以轻松地集成到任…