像梦一样奔驰|一行 Python 命令搞定前期数据探索性分析( 二 )
于是我们可以直接在代码中手动写入并进行调整 , 就像这样:
profile_config = {"progress_bar": False,"sort": "ascending","vars": {"num": {"chi_squared_threshold": 0.95},"cat": {"n_obs": 10}},"missing_diagrams": {'heatmap': False,'dendrogram': False,}}profile = titanic.profile_report(**profile_config)profile.to_file("titanic-EDA-report.html")将所有配置的信息写在一个字典变量中 , 再通过 **variable 的形式将键值对进行解包使其能够根据键来对应到相应的参数中 。除了代码中的配置写法外 , 如果你稍微了解一点 yaml 配置文件的写法 , 那么我们也无需在代码中逐个写入 , 而是可以通过在 yaml 文件中修改 。 修改的不仅官方文档中所列出的配置选项 , 还能修改未列出的参数 。 由于配置文件过长 , 这里我只放出基于官方默认配置文件 config_default.yaml 自己做出修改的部分:
# profile_config.ymlvars:num:quantiles:- 0.25- 0.5- 0.75skewness_threshold: 10low_categorical_threshold: 5chi_squared_threshold: 0.95cat:length: Trueunicode: Truecardinality_threshold: 50n_obs: 5chi_squared_threshold: 0.95coerce_str_to_date: Falsebool:n_obs: 3file:active: Falseimage:active: Falseexif: Truehash: Truesort: "desceding"修改完 yaml 文件之后 , 我们只需在生成报告时通过 config_file 参数指定配置文件所在的路径即可 , 就像这样:df.profile_report(config_file = "你的文件路径.yml")通过将配置文件与核心代码相分离 , 以提高我们代码的简洁性与可读性 。最后pandas-profiling 库为我们提供了一种方便、快捷的数据探索方式 , 提供了比基本统计信息更为丰富的一些信息(如缺失值相关图、相关关系图等) , 能够为我们前期的数据探索工作节省出大量的时间 。
不过由于 pandas-profiling 生成的报告维度相对来说比较固定和模板化 , 所以对于想让报告更加丰富的朋友来说你可能需要自己再去做一些额外的工作了;同时 , 需要注意的是 , pandas-profiling 比较适合在中小数据集中使用 。 随着数据量的增加 , 报告渲染的速度会大幅度变慢且生成报告会耗时更多 。
如果你仍有对大数据集进行 EDA 的需要 , 那么像官方文档说的那样你最好是通过抽样或者采样的方式来在不影响数据分布的情况下减少样本量 。 官方也有表示会在以后的版本中使用 modin、spark 和 dask 等高性能的库或框架作为可扩展的后端 , 到那时也许生成大数据集的 EDA 报告时可能就不是问题了 。
【像梦一样奔驰|一行 Python 命令搞定前期数据探索性分析】作者:100gle , 练习时长不到两年的非正经文科生一枚 , 喜欢敲代码、写写文章、捣鼓捣鼓各种新事物;现从事有关大数据分析与挖掘的相关工作 。
推荐阅读
- 芒种风向标|奔驰全新S级的内饰好看吗?不得不说优秀全靠同行衬托
- 奔驰E级|奔驰E级:开始清仓,为什么降到35万还有库存
- 光明论|劳动者的尊严不能像证件一样被“扔”在地上
- 懂车善用|如今跌破22万,比奔驰C漂亮,22万开出50万面子,曾经卖60万
- 有车以后|2 万多!,最便宜的奔驰 SUV 新款上市,价格又便宜了
- 胖哥汽车频道|或取消2.0T发动机,奔驰国产全新C级谍照曝光
- 科技日日说|realme真我X7全方位评测:不一样的颜值,不一样的体验!,原创
- 王者荣耀|没有明世隐的“狼狗”不能玩?正确玩法教给你一样凯瑞全场!
- 像梦一样奔驰|51WDP开发者平台五大工具全面开放,让数字孪生触手可及
- 虎扑足球|巴黎也是一样,莱昂纳多:任何俱乐部要签人都得先卖人
