数据探索工具Dataprep.eda
Pandas-profiling(2016)被称为EDA(Exploratory Data Analysis)分析的典型工具,然而Pandas-profiling的一个主要缺点是它提供的是数据集的侧写,而EDA是一个迭代的过程,分析过程中会对对数据不断进行质疑、理解、处理、转换等。 Pandas-profiling严格的分析框架与当前EDA的最佳实践背道而驰。
Dataprep.eda(2020)是一个 Python 库,它支持迭代和以任务为中心的分析,就像 EDA 注定要做的那样。dataprep.eda比Pandas-profiling更适合进行探索分析主要有以下四点:
1.更好的 API 设计
dataprep.eda 中的 plot ()函数。为了理解如何使用这个函数有效地执行 EDA,下面给出了分析人员意图的函数调用的语法:
- plot(df):我想要一个数据集的概览
- plot(df, “col_1”):我想要深入了解col_1这一列
- plot(df, “col_1”, “col_2”):我想了解col_1与col_2之间的关系
为了看到这一点的实际应用,我们将使用一个韩国新冠肺炎数据集,我们从数据集的概述开始:
from dataprep.eda import plot
df = pd.read_csv("data/PatientInfo.csv")
df["confirmed_date"] = pd.to_datetime(df["confirmed_date"])
注意到birth_year这有一个双峰分布,让我们了解更多关于这个列的信息:
df["age"] = 2020 - df["birth_year"]
接下来,让我们调查感染新冠肺炎的男性和女性的年龄分布。 为此,我们只需在前面的函数调用中添加列 sex:
plot(df, "age", "sex", bins=26)
from dataprep.eda import plot_correlation, plot_missing
而相对的使用pandas-profiling无法达到相同的效果
from pandas_profiling import ProfileReport
ProfileReport(df).to_widgets()
另外就是交互式的功能,Dataprep.eda底层使用了Bokeh,所以可以看到很多细节的提示信息,pandas-profiling并不支持。
2. Dataprep.eda比pandas-profiling快100倍
Dataprep.eda比pandas-profiling更快的主要原因:
- 使用并行计算的Dask来替代Pandas处理数据
- eda每次只创建于任务相关的可视化,减少了不必要的计算,而pandas-profiling是整个数据集的概要文件。
3. 智能可视化
dataprep.eda包含的一些智能特性:
- 为每个 EDA 任务选择正确的图形来可视化数据
- 列类型推断(数字型、类别型和日期时间型)
- 选择合适的时间单位(用户也可以指定)
- 对数量庞大的类型数据输出清晰的可视化方案(用户也可以指定)
4. 处理大数据
使用 Dask 的 Dataprep.eda 可以处理比内存数据集更大的数据集。 支持核外处理和并行处理,因此可以有效地评估非常大数据集上的计算。
参考链接:
原创文章,作者:曾确令,如若转载,请注明出处:https://www.zengqueling.com/sjtsgjde/