Sweetviz的一些优势在于:
但也有一些缺点:
sweetviz支持Python 3.6+和Pandas0.25.3+环境,配置好环境后,使用万能的pip下载安装包:
pip install sweetviz
但有一个条件需要注意:sweetviz需要用到基础「os」模块。所以,如果你在使用类似于Google Colab的自定义环境,可能会无法使用sweetviz,目前开发者也在探索解决方案。
下载好后,使用import快速导入sweetviz,就可以开始使用了~
import sweetviz as sv
sweetviz使用的原理是,使用一行代码,生成一个数据报告的对象(其中,my_dataframe是pandas中的DataFrame,一种表格型数据结构):
my_report = sv.analyze(my_dataframe)
在这里,analyze函数可以被替换为compare或compare_intra函数,使用方法在上面已经给出,全看你需要什么类型的数据报告了。
最后,用show一键输出。(结果会以SWEETVIZ_REPORT.html网页形式展示)
muy_report.show_html()
# Default arguments will generate to "SWEETVIZ_REPORT.html"
sweetviz是一个基于Python编写的数据分析软件,只要掌握3种函数用法,一行Python代码就能实现数据集可视化、分析与比较。
analyze(source: Union[pd.DataFrame,tuple[pd.DataFrame,str]],
target__feat: str = None),
feat_cfg: FeatureConfig = None,
pairwise_analysis: str = ‘auto‘
数据分析函数中,有4个参数source,target_feat,feat_cfg和pairwise_analysis需要被设置。
source
:以pandas中的DataFrame数据结构、或是DataFrame中的某一类字符串作为分析对象。
target_feat
:需要被标记为目标对象的字符串。
feat_cfg
:需要被跳过、或是需要被强制转换为某种数据类型的特征。
pairwise_analysis
:相关性和其他类型的数据关联可能需要花费较长时间。如果超过了某个阈值,就需要设置这个参数为on或者off,以判断是否需要分析数据相关性。
△说明:数据相关性分析效果,可能需要花费一定时间
my_report = sv.compare([my_dataframe,"Training Data"],
[test_df,"Test Data"],
"Survived",
feature_config)
如果想要对两个数据集进行对比分析,就使用这个比较函数。
例子中的my_dataframe
和test_df
是两个数据集,分别被命名为训练数据
和测试数据
。
除了这个被插入的数据集,剩余的参数与analyze
中的一致。
my_report = sv.compare_intra(my_dataframe,
my_dataframe["Sex"] == "male",
["Male","Female"],
feature_config)
想要对数据集中某个栏目下的参数进行分析,就采用这个函数进行。
例如,如果需要比较“性别”栏目下的“男性”和“女性”,就可以采用这个函数。
理解这几种函数的变量后,一行代码就能实现Python数据分析。
以Titanic数据集
为例,输入一行代码:
my_report = sv.analyze(my_dataframe)
一个1080p的清晰网页界面就出现在了眼前。
不仅根据性别、年龄等不同栏目纵向分析数据,每个栏目下还有众数、最大值、最小值等横向对比。
所有输入的数值、文本信息都会被自动检测,并进行数据分析、可视化和对比,最后帮你进行数据总结。
在这样的数据分析下,结果一目了然。
△ 说明:Titanic数据集部分功能细节展示
这样的效果,是基于3个主函数实现的。
注意: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"
要比较两个数据集,只需使用compare()函数。除了第二个参数不同外,其参数与analyze()相同。建议使用参数的[dataframe,“ name”]格式,以更好地区分测试集与比较集。
my_report = sv.compare([my_dataframe, "Training Data"],
[test_df, "Test Data"],
"Survived",
feature_config)
另一种获得深刻见解的方法是使用比较功能将您的数据集分为2个子种群。
比较同一数据帧的两个子集(例如,男性与女性)
另一种获得深刻见解的方法是使用比较功能将您的数据集分为2个子种群。
通过compare_intra()函数可以将您的数据集分为2个子集并进行比较。
My_report = sv.compare_intra(my_dataframe,my_dataframe
[“ Sex”] ==“ male”,
[“ Male”,“ Female”],
feature_config)
目前这个包还处于开发版本,还是存在很多的不足的地方,比如无法拉动网页界面,中文数据集会出现乱码
等等。不过目前来看还是一个很不错的EDA工具
原文:https://www.cnblogs.com/PythonSQL/p/14648251.html