趣投稿用pandas-profiling做出更好的探索性数据分析(附代码)( 二 )


data.sample(5)
趣投稿用pandas-profiling做出更好的探索性数据分析(附代码)
本文插图
让我们用.describe()来做一些描述性统计 。 该方法“总结了数据集分布的集中趋势、分散和形状 , 不包括NaN值” 。
data.describe()
趣投稿用pandas-profiling做出更好的探索性数据分析(附代码)
本文插图
【趣投稿用pandas-profiling做出更好的探索性数据分析(附代码)】
现在我们有了描述性统计数据 , 我们将会检查缺失数据 。 我们将会仅仅按顺序列出10个有超10%缺失值的特征:
total = data.isnull().sum().sort_values(ascending=False)percent = (data.isnull().sum()/data.isnull().count()).sort_values(ascending=False)missing_data = http://news.hoteastday.com/a/pd.concat([total, percent], axis=1, keys=['Total', 'Missing Percent'])missing_data['Missing Percent'] = missing_data['Missing Percent'].apply(lambda x: x * 100)missing_data.loc[missing_data['Missing Percent'] > 10][:10]
趣投稿用pandas-profiling做出更好的探索性数据分析(附代码)
本文插图
正如你看到的 , 对于数据科学家来说在notebook上做探索性数据分析是非常方便和高效的 。 但是 , 视觉效果仍然很有总结性 。 让我们一起看看如何用pandas-profiling来更省力地动态展现数据 。
只有通过观察 , 我们才能学习
Pandas-profiling,我们的救世主!
概念
Github描述:”从pandas Dataframe生成概况报告(profile)“
Pandas-profiling将所有东西打包形成一个完整的EDA:最常见值、缺失值、相关性、分位数和描述性统计、数据长度等等 。 有了这些指标 , 您将很快看到数据的分布和差异 。 这些信息至关重要 , 帮你判断数据将来是否有用 。
度量指标在互动性HTML报告中呈现 。
pandas-profiling在HTML报告中以结构化的方式展现了不同指标 。 得益于它的交互性 , 我们能够很容易地从一个特征转换到另外一个并且访问其指标 。
gif图片可以打开一下地址查看:
https://miro.medium.com/max/1400/1*48uRp4eMwtQgb4raZRRAtA.gif
一起来看看如何用它:
pip install pandas-profiling使用我们的FIFA数据集:
import pandas as pdimport pandas_profilingdata_fifa = pd.read_csv('fifa.csv')profile = data_fifa.profile_report(title='Pandas Profiling Report')profile.to_file(output_file=''fifa_pandas_profiling.html'')在以上的代码中 , 我们仅仅导入了pandas和pandas-profiling,读取我们的CSV文件并调用profile_report()方法 , 因为pandas_profiling使用data_fifa.profile_report()来扩展pandas DataFrame 。 然后 , 使用.to_file()将ProfileReport对象导出为HTML文件 。
大功告成!至此 , 我们的HTML文件位于该文件夹的根目录:
趣投稿用pandas-profiling做出更好的探索性数据分析(附代码)
本文插图
上图展现了报告的“概述”部分 。 这部分简略描述了变量的类型 , 缺失值或者是数据集的大小 。
Pandas-profiling使用matplotlib作为图形库和jinja2作为其接口的模板引擎 。
作为一个自由职业者 , 当我必须为客户处理一个新的数据集时 , 我总是先生成一个pandas profiling , 它帮助我吸收数据集的信息 。 这种做法允许我量化数据集的处理时间 。 多少特征看起来是正确的?多少包含缺失值?缺失值的百分比是多少?哪些变量互相依赖?
另外 , 此外 , 该报告还可以作为展示界面 , 向客户介绍数据健康度的全局情况 。 无需在你的Jupyter notebook上展示你的分析 , 当中还夹杂着代码和图表 , 该报告按照特征整合了各种度量指标 , 并且有更友好的界面 。 我的客户喜欢对委派给我的任务有一个完整的跟踪 , 也希望定期了解我的进展 。 通常我使用该报告提供数据的健康状态 。 这一步之后是更深入的数据分析和可视化 。