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工具
个人公众号:Smilecoc的杂货铺,欢迎关注!