当前位置:   article > 正文

pandas 数据分析 相关性_pandas_profiling:一行代码生成你的数据分析报告

pycharm pandas_profiling

点击上方“Datawhale”,选择“星标”公众号

第一时间获取价值内容

8d96d7436e4f1e04a2851c61f5ce0612.gif

     笔者最近发现一款将pandas数据框快速转化为描述性数据分析报告的package——pandas_profiling。一行代码即可生成内容丰富的EDA内容,两行代码即可将报告以.html格式保存。笔者当初也是从数据分析做起的,所以深知这个工具对于数据分析的朋友而言极为方便,在此特地分享给大家。

     我们以uci机器学习库中的人口调查数据集adult.data为例进行说明。

     数据集地址: 

https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data

     常规情况下我们拿到数据做EDA的时候这几种函数是必用的:

     看一下数据长啥样:

import numpy as npimport pandas as pdadult = pd.read_csv('../adult.data')adult.head()

d7e20e0ed5bff6c1503abc9abbd3b156.png

     对数据进行统计描述:

adult.describe()

6f8de813f21d63cfc6fe8eb6daa58dc8.png

     查看变量信息和缺失情况:

adult.info()

129f9b32382f92112f14beea4c8b09a3.png

     这是最简单最快速了解一个数据集的方法。当然,更深层次的EDA一定是要借助统计图形来展示的。基于scipy、matplotlib和seaborn等工具的展示这里权且略过。

     现在我们有了pandas_profiling。上述过程以及各种统计相关性计算、统计绘图全部由pandas_profiling打包搞定了。pandas_profiling安装,包括pip、conda和源码三种安装方式。

pip:

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

conda:

conda install -c conda-forge pandas-profiling

source:

先下载源码文件,然后解压到setup.py所在的文件目录下:

python setup.py install

     再来看pandas_profiling基本用法,用pandas将数据读入之后,对数据框直接调用profile_report方法生成EDA分析报告,然后使用to_file方法另存为.html文件。

profile = df.profile_report()profile.to_file(output_file=Path("./census_report.html"))

     看看报告效果如何。pandas-profiling EDA报告包括数据整体概览、变量探索、相关性计算、缺失值情况和抽样展示等5个方面。

数据整体概览:

a8750fe1d4db1b5ac53a03bd8ee2b5b3.png

变量探索:

c5f4045fbee43c43e4eb6de867d40837.png

相关性计算:

69e63f2ab6f7e34fb4f8d7fffe6eb0a9.png

这里为大家提供5种相关性系数。

缺失值情况:

6025b90d8f74c308a500412e45803f13.png

pandas-profiling为我们提供了四种缺失值展现形式。

数据样本展示:

e5ba6415d8e97d5cdf3182a157b91493.png

就是pandas里面的df.head()和df.tail()两个函数。

上述示例参考代码:

from pathlib import Pathimport pandas as pdimport numpy as npimport requestsimport pandas_profilingif __name__ == "__main__":    file_name = Path("census_train.csv")if not file_name.exists():        data = requests.get("https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data"        )        file_name.write_bytes(data.content)# Names based on https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.names    df = pd.read_csv(        file_name,        header=None,        index_col=False,        names=["age","workclass","fnlwgt","education","education-num","marital-status","occupation","relationship","race","sex","capital-gain","capital-loss","hours-per-week","native-country",        ],    )# Prepare missing values    df = df.replace("\\?", np.nan, regex=True)    profile = df.profile_report()    profile.to_file(output_file=Path("./census_report.html"))

     除此之外,pandas_profiling还提供了pycharm配置方法:

66125ef5121d730118df98a163acfb53.png

     配置完成后在pycharm左边项目栏目直接右键external_tool下的pandas_profiling即可直接生成EDA报告。更多内容大家可以到该项目GitHub地址查看:

b1145cc930f31718419305721ce1d578.png

参考资料:

https://github.com/pandas-profiling/pandas-profiling

15ec33d8055cff1a3f8a906d4a95426d.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/342841
推荐阅读
相关标签
  

闽ICP备14008679号