首页IT科技python数据分析与可视化工具(羡慕实时数据看板?来看看Python的交互数据分析可视化工具!)

python数据分析与可视化工具(羡慕实时数据看板?来看看Python的交互数据分析可视化工具!)

时间2025-05-02 15:53:09分类IT科技浏览3490
导读:? 作者:韩信子@ShowMeAI...

? 作者:韩信子@ShowMeAI

? 数据分析实战系列:https://www.showmeai.tech/tutorials/40

? 本文地址:https://www.showmeai.tech/article-detail/320

? 声明:版权所有            ,转载请联系平台与作者并注明出处

? 收藏ShowMeAI查看更多精彩内容

大家都看过非常酷的实时数据看板               ,能用最直观的方式给到我们业务数据的信息      ,如下图所示         。

而在 Python 中         ,我们也有非常易用的工具               ,可以产出漂亮的数据分析可视化结果        ,并支持交互式操作和勾选局部数据深入分析      ,ShowMeAI在本篇内容中                ,将给大家讲解到 ?Altair 这样一个功能强大的 Python 交互式数据分析工具          ,它能产出如下图所示的交互分析结果:

? 数据分析实现模板

为了让大家在自己的数据上体验 Altair 的分析结果   ,我们下面编写的一个函数模板                 ,用于为数据集中的所有特征生成交互式图表                  。

具体一点说            ,我们希望它为数值型字段(特征)返回『直方图+散点图』,为类别型特征返回『柱状图+箱线图』               ,Altair 返回的这些图表结果都是可以交互式操作的      。

# 导入工具库 import altair as alt import pandas as pd # 忽律数据规模限制 alt.data_transformers.enable(default, max_rows=None) # 构建chart函数               ,它读取数据和字段名称   ,返回一个交互式图表结果 def chart(dataset, column_name, target_var): w = 500 single = alt.selection_single() # 灰度图与柱状图 # 如果是类别型字段            ,我们不用分桶 if (column_name in dataset.select_dtypes(include=object).columns.to_list()): a = alt.Chart(dataset).mark_bar().encode( alt.X(column_name + :N, bin=False), alt.Y(count()), color = alt.condition(single, alt.value(#4c78a8), alt.value(lightgray)), tooltip=[count(), alt.Tooltip(column_name, bin=False)] ).add_selection(single).properties(width=w) # 如果是数值型字段               ,我们先分桶 else: a = alt.Chart(dataset).mark_bar().encode( alt.X(column_name + :Q, bin=True), alt.Y(count()), color = alt.condition(single, alt.value(#4c78a8), alt.value(lightgray)), tooltip=[count(), alt.Tooltip(column_name, bin=True)] ).add_selection(single).properties(width=w) # 对于类别型字段      ,我们构建它和目标字段的一个箱线图表;对于数值型字段         ,我们构建它们和目标字段的散点分布图 try: if (column_name in dataset.select_dtypes(include=object).columns.to_list()): b = alt.Chart(dataset).mark_boxplot().encode( #, title="Boxplot of " + column_name alt.X(column_name + :N), alt.Y(target_var), color = alt.condition(single, alt.value(#4c78a8), alt.value(lightgray)), tooltip=[target_var] ).add_selection(single).properties(width=w) else: b = alt.Chart(dataset).mark_point().encode( alt.X(column_name + :Q), alt.Y(target_var), color = alt.condition(single, alt.value(#4c78a8), alt.value(lightgray)), tooltip=[target_var] ).add_selection(single).properties(width=w) except: pass return(a | b)

大家可以把它应用在自己的数据上               ,得到的结果图如下所示(而且它们是可以用鼠标交互操作的)      。在下面的内容里        ,我们会告诉大家如何把结果存储为 html 报告      ,大家每次打开 html 结果文件                ,即可进行交互式操作          ,而无需每次都重新分析                 。

? 数据分析&交互文档报告

下面的代码可以将所有可视化结果编译到一个 html 文档中   ,打开这个 html 文件                 ,大家就可以得到一个可交互的可视化数据分析平台         。

# 把所有的altair图表添加到一个列表里 myl = [] for col in dataset.columns: try: myl.append(chart(dataset, col, target_var)) except: pass else: pass # 编译所有的图表到1个html文件中 a = myl[0] for i in range(1,len(myl)): a = a & myl[i] a.properties( title = Feature Histograms & Boxplots ).configure_axis(labelFontSize=15, titleFontSize=25) a.save(figures/Feature_Visuals.html) # 检查是否所有的字段都可以被可视化 print(Features accounted for:, len(myl), out of, len(dataset.T))

参考资料

? Altair:https://altair-viz.github.io/
声明:本站所有文章            ,如无特殊说明或标注,均为本站原创发布    。任何个人或组织               ,在未征得本站同意时               ,禁止复制            、盗用               、采集      、发布本站内容到任何网站         、书籍等各类媒体平台                。如若本站内容侵犯了原著者的合法权益   ,可联系我们进行处理            。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
python的合法变量名能加+吗(python os.path如何解析路径) 会议室用具都有哪些(带你了解3款会议室中常用的办公软件,你的企业有在用吗)