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

简介: Altair是Python统计可视化库,提供了强大而简洁的可视化语法,可以产出漂亮的数据分析可视化结果,并支持交互式操作和勾选局部数据深入分析。本文以实例讲解Altair的数据分析过程,以及交互文档报告的生成。

💡 作者:韩信子@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))

参考资料

目录
相关文章
|
13天前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
|
15天前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析的入门指南
本文将引导读者了解如何使用Python进行数据分析,从安装必要的库到执行基础的数据操作和可视化。通过本文的学习,你将能够开始自己的数据分析之旅,并掌握如何利用Python来揭示数据背后的故事。
|
19天前
|
机器学习/深度学习 算法 数据挖掘
数据分析的 10 个最佳 Python 库
数据分析的 10 个最佳 Python 库
56 4
数据分析的 10 个最佳 Python 库
|
11天前
|
数据采集 分布式计算 大数据
构建高效的数据管道:使用Python进行ETL任务
在数据驱动的世界中,高效地处理和移动数据是至关重要的。本文将引导你通过一个实际的Python ETL(提取、转换、加载)项目,从概念到实现。我们将探索如何设计一个灵活且可扩展的数据管道,确保数据的准确性和完整性。无论你是数据工程师、分析师还是任何对数据处理感兴趣的人,这篇文章都将成为你工具箱中的宝贵资源。
|
12天前
|
监控 数据可视化 数据挖掘
数据看板制作工具评测:这6款工具能如何提升企业的数据分析效率?
本文介绍了6款数据看板制作工具,包括板栗看板、Tableau、Power BI、Qlik Sense、Google Data Studio和Looker,从功能、适用场景等方面进行了详细对比,旨在帮助企业选择最合适的工具以实现高效的数据可视化和管理决策。
|
17天前
|
数据挖掘 关系型数据库 Serverless
利用数据分析工具评估特定业务场景下扩缩容操作对性能的影响
通过以上数据分析工具的运用,可以深入挖掘数据背后的信息,准确评估特定业务场景下扩缩容操作对 PolarDB Serverless 性能的影响。同时,这些分析结果还可以为后续的优化和决策提供有力的支持,确保业务系统在不断变化的环境中保持良好的性能表现。
25 2
|
22天前
|
存储 数据可视化 数据挖掘
使用Python进行数据分析和可视化
本文将引导你理解如何使用Python进行数据分析和可视化。我们将从基础的数据结构开始,逐步深入到数据处理和分析的方法,最后通过实际的代码示例来展示如何创建直观的数据可视化。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧。让我们一起探索数据的世界,发现隐藏在数字背后的故事!
|
20天前
|
存储 数据可视化 数据挖掘
Python数据分析项目:抖音短视频达人粉丝增长趋势
Python数据分析项目:抖音短视频达人粉丝增长趋势
|
24天前
|
传感器 物联网 开发者
使用Python读取串行设备的温度数据
本文介绍了如何使用Python通过串行接口(如UART、RS-232或RS-485)读取温度传感器的数据。详细步骤包括硬件连接、安装`pyserial`库、配置串行端口、发送请求及解析响应等。适合嵌入式系统和物联网应用开发者参考。
39 3
|
24天前
|
数据采集 存储 数据可视化
Python数据分析:揭秘"黑神话:悟空"Steam用户评论趋势
Python数据分析:揭秘"黑神话:悟空"Steam用户评论趋势