Sweetviz是一个开放源代码Python库,可生成精美的高密度可视化文件,以单行代码启动EDA(探索性数据分析)。输出是一个完全独立的HTML应用程序。

该系统围绕快速可视化目标值和比较数据集而构建。其目标是帮助快速分析目标特征,训练与测试数据以及其他此类数据表征任务

安装

pip install sweetviz

分析一个数据集

注意:Sweetviz仅支持分析dataframe数据结构的数据

当分析一个dataframe时,先使用analyze() 函数, 然后使用 show_html() 函数产出一个1080p宽屏的网页

import sweetviz as sv
import pandas as pd

my_dataframe=pd.read_csv("train.csv")
my_report = sv.analyze(my_dataframe)
my_report.show_html() # 默认生成的html文件为"SWEETVIZ_REPORT.html"

可选参数

analyze()函数的语法与可选参数为:

analyze(source: Union[pd.DataFrame, Tuple[pd.DataFrame, str]],
            target_feat: str = None,
            feat_cfg: FeatureConfig = None,
            pairwise_analysis: str = 'auto'):

source:以pandas中的DataFrame数据结构、或是[DataFrame,str]的元组形式,其中str是DataFrame要在报表中显示的名称。
target_feat:需要被标记为目标对象的字符串,目前仅支持 BOOLEAN和 NUMERICAL类型。
feat_cfg:需要被跳过、或是需要被强制转换为某种数据类型的特征。参数可以为skip,force_cat,force_num和force_text,用法为:

feature_config = sv.FeatureConfig(skip="PassengerId", force_text=["Age"])

pairwise_analysis:相关性和其他类型的数据关联可能需要花费较长时间。如果超过了某个阈值,就需要设置这个参数为on或者off,以判断是否需要分析数据相关性。

两个数据集的比较

要比较两个数据集,只需使用compare()函数。除了第二个参数不同外,其参数与analyze()相同。建议使用参数的[dataframe,“ name”]格式,以更好地区分测试集与比较集。

my_report = sv.compare([my_dataframe, "Training Data"], [test_df, "Test Data"], "Survived", feature_config)

比较同一数据帧的两个子集(例如,男性与女性)

另一种获得深刻见解的方法是使用比较功能将您的数据集分为2个子种群。

通过compare_intra()函数可以将您的数据集分为2个子集并进行比较。


My_report = sv.compare_intra(my_dataframe,my_dataframe [“ Sex”] ==“ male”,[“ Male”,“ Female”],feature_config)

目前这个包还处于开发版本,还是存在很多的不足的地方,比如无法拉动网页界面,中文数据集会出现乱码等等。不过目前来看还是一个很不错的EDA工具