ydata-profiling 汉化魔改

本文介绍了ydata-profiling库的汉化过程,包括HTML模板的修改,文档结构的调整,以及如何添加新模块和优化性能。作者详细讲解了配置文件的使用和安装步骤,以及注意事项如中文显示问题和性能优化方法。
摘要由CSDN通过智能技术生成

1. 背景

那么可能首先得唠一唠这个库,我记得最早还是叫pandas-profiling

后来貌似在 23 年 4 月份更名为ydata-profiling,具体情况不知道

当时版本升级的时候好像还有一些报错,可以参考这个1

至于这个库有什么用,可以参考这个2这个3

大概是之前做某个东西的时候,需要改一下这个库,给的需求的是:

  1. 汉化翻译,报告结构到图片坐标再到鼠标悬停的提示,都搞成中文

  2. 优化结构,增加分析项目,扩大数据展示规模

  3. 提升速度,大幅砍掉变量交互信息的计算,跳过变量类型推断

啊,对了,有必要说一下我下面举例所使用的版本,是这个4

以及好像有时候中文显示也会出点问题,可以参考这个5

那,接下来就按照上面的展开吧

2. 汉化

首先是汉化翻译,这一块主要是更改HTML模板

它这个模式,感觉就是jinja2那种,把数据填充到预设的模板里面

文件的大概路径是在:

ydata-profiling-develop\src\ydata_profiling\report\presentation\flavours\html\templates

这里面有一堆乱七八遭的东西

一部分单词在这里,还有一部分在其他地方,可以通过VS Code根据关键词快速搜索:

在这里插入图片描述

后面遇到什么奇奇怪怪的,没有被翻译到的单词,都可以通过这种方式来定位,然后再进行翻译

3. 改版

3.1. 旧有

这一块主要是调整文档的结构,一些地方可以通过调整设置来进行更改,可以参考这个6

主要是更改Yaml文件里面的设置,或者直接新建一个,然后使用这个新的配置文件

配置文件的使用在这里:

D:\Software\Projects\ydata-profiling-develop\src\ydata_profiling\profile_report.py

ProfileReport类初始化的时候会传入一个config参数作为配置文件的路径

看起来似乎默认使用的是这个文件:

D:\Software\Projects\ydata-profiling-develop\src\ydata_profiling\config_minimal.yaml

3.2. 新增

如果要增加一些版面的话,就得看一下它的结构了

我的感觉大概是,首先是这个文件:

D:\Software\Projects\ydata-profiling-develop\src\ydata_profiling\profile_report.py

毕竟被调用的类就在这里面写着,然后这里面的某一个主部分是是report函数,大概是由它返回整个报告:

    @property
    def report(self) -> Root:
        if self._report is None:
            self._report = get_report_structure(self.config, self.description_set)
        return self._report

在这里面调用了get_report_structure来形成结构,传入的self.config参数是配置文件,而self.description_set就是这个数据集的描述数据,使用这些数据就可以生成一份分析报告

所以如果要增加模块的话,首先要确保self.description_set里面有新模块的数据,也就是说新模块的计算过程要放在生成self.description_set的地方,也就是这里

D:\Software\Projects\ydata-profiling-develop\src\ydata_profiling\model\describe.py

除此之外,还要对新模块的展示创建代码,主要是在get_report_structure部分,看那里面是如何把数据填充到HTML里面的,当然新模块对应的HTML文件也是需要新建的。

4. 优化

类型推断什么的,其实是可以在YAML设置文件调整的,比如说:

# infer dtypes
infer_dtypes: false

要砍掉一些模块的话,其实和上面调整版本的部分差不多:

  1. 首先要删去计算过程,也就是self.description_set的生成过程那里,注释掉相关的代码

  2. 然后是删去展示结构,也就是get_report_structure部分

5. 安装

改完乱七八遭的东西之后,就可以安装了,官方文档给的是:

pip install -e .

大概含义是这个7

记得我之前的操作好像还是:

python setup.py build
python setup.py install

这个操作的解释在这里8


  1. pandas_profiling报错,使用新版ydata_profiling_pandas profiling包换名字了-CSDN博客 ↩︎

  2. 独家 | 用pandas-profiling做出更好的探索性数据分析 - 知乎 ↩︎

  3. EDA神器pandas-profiling万岁? - 知乎 ↩︎

  4. GitHub - ydataai/ydata-profiling at 35cb5b9c9bb7919ada09b11b7bc7248cab5804f4 ↩︎

  5. pandas_profiling不能显示中文,如何处理? - 知乎 ↩︎

  6. 数据集分析工具pandas-profiling进阶:个性化定制配置文件与参数_pandas_profiling如何改bins-CSDN博客 ↩︎

  7. pip常用指令详解——(pip install -e .等)-CSDN博客 ↩︎

  8. python setup.py install/build 与 python setup.py develop的区别 (python setup.py build_ext --inplace)-CSDN博客 ↩︎

  • 26
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值