流光VS Dash VS闪亮VS Voila VS烧瓶VS Jupyter

2020-10-07 08:37:59

几乎每家公司都拥有内部团队需要访问和分析的宝贵数据。非技术团队经常要求使用工具来使这一点变得更容易。这些团队不需要为每个请求找一位数据科学家,而是想要动态仪表板,在那里他们可以轻松地运行查询并查看自定义的交互式可视化效果。

可视化:使用Bokeh等绘图库创建数据的绘图和图表。

服务:侦听用户请求,并使用Flask等Web服务器返回网页。

在过去,您必须浪费大量的时间来编写所有的“粘合”代码来将这些组件连接在一起。但是对于较新的库(如Streamlight和Dash),这些组件是在单个包中提供的。

尽管如此,找出使用哪个库可能是一件具有挑战性的事情。下面是它们的比较情况,以及如何选择最适合您的项目的一些指导。

[您想要更详细的工具比较,以突破市场营销的说法吗?订阅我们的每周时事通讯。]。

和往常一样,“视情况而定”--但如果你在寻找快速答案,你可能应该使用:

如果您已经使用Python进行分析,并且希望为更大的公司构建可用于生产的数据仪表板,请使用DASH。

Streamlight,如果您已经使用Python进行分析,并且希望尽快启动并运行仪表板的原型。

如果您已经使用R进行分析,并且想要让非技术团队更容易访问结果,那么它就很闪亮。

Jupyter,如果您的团队具有很强的技术性,并且不介意安装和运行开发人员工具来查看分析。

瞧,如果你已经有了Jupyter笔记本,并且你想让非技术团队能够访问它们。

并不是所有的库都是直接可比较的。例如,Dash构建在Flask之上,而Flask是更通用的Web应用程序开发框架。同样,每个库关注的领域也略有不同。

Streamlitt和Dash是完整的仪表板解决方案,专注于基于Python的数据分析,分别运行在Tornado和Flask web框架上。

Jupyter是数据科学家用来分析和处理数据的笔记本。您还可以使用它来可视化数据。

Flask是一个Python web框架,用于构建网站和应用程序-不一定以数据科学为重点。

这些库中有些已经存在了一段时间,有些是全新的。有些更僵硬,有自己的结构,而另一些则很灵活,可以适应你的。有些侧重于特定的语言。下面的表格显示了两者之间的权衡:

这些不是严格的或科学的基准,但它们旨在让您快速了解这些工具是如何重叠的,以及它们之间有何不同。有关更多详细信息,请参阅下面的面对面比较。

Streamlight和Dash是这组中最相似的两个库。它们都是使用Python构建的完整仪表板解决方案,并且都包括用于数据分析、可视化、用户交互和服务的组件。

虽然它们都是开源的,但Dash更专注于企业市场,并不包括开源版本中的所有功能(如作业队列)。相比之下,Streamlight是完全开源的。

Streamlight更加结构化,更注重简单性。它只支持基于Python的数据分析,并且有一组有限的小部件(例如,滑块)可供选择。

DASH的适应性更强。尽管它是用Python构建的,并将用户推向自己的绘图库(Ploly),但它也与其他绘图库甚至其他语言(如R或Julia)兼容。

我们的建议是:如果你想尽快上手,并且没有强烈的意见或太多的定制要求,可以使用Streamlight。如果您需要更灵活、更成熟的工具,并且不介意花费额外的工程时间,请使用Dash。

Streamlight是一个基于Python的仪表板工具,而SHINY使用的是R。这两个工具都专注于将数据分析脚本转变为完整的、交互式的Web应用程序。

由于Python是一种通用语言,而R仅专注于数据分析,因此您使用Streamlight(基于Tornado Web服务器)构建的Web应用程序比使用SHINY构建的Web应用程序更强大、更容易扩展到生产环境。

SHINY与R生态系统中的绘图库(如ggplot2)集成良好,而Streamlight与Python绘图库(如Bokeh或Altair)集成。

我们的建议是:如果您更喜欢在R中进行数据分析,并且已经在R生态系统中进行了投资,请使用SHINY。否则,请使用Streamlight(或Dash-参见上文)。

Streamlight是一个完整的数据仪表板解决方案,而Voila是一个更简单、更有限的工具,它允许您将现有的Jupyter笔记本转换为基本数据仪表板,并将其作为Web应用程序提供给非技术用户。

和Streamlight一样,Voila也是建立在Tornado web框架之上的,所以你可以使用Jupyter笔记本和Voila来获得与Streamlight大致相似的东西。但是Streamlight更灵活(它不需要你使用Jupyter),而Voila可以更简单(前提是你已经有了你想要展示的Jupyter笔记本)。

Voila使用的是Jupyter的小部件库,而Streamlight使用的是定制的小部件-所以如果您已经熟悉了Jupyter,您会发现Voila更容易使用。

我们的建议是:如果您正在寻找一体机解决方案,请使用Streamlight。如果你已经有了你想要服务的Jupyter笔记本,那么Voila可能就足够好了。

Streamlight是一个完整的数据仪表板解决方案,而Jupyter笔记本电脑主要对想要开发软件和可视化的工程师有用。工程师使用Streamlitt为非技术用户构建仪表盘,并使用Jupyter笔记本开发代码并与其他工程师共享。

与Voila等附加组件相结合,Jupyter笔记本可以使用与Streamlight类似的功能,但数据仪表板并不是它们的核心目标。

我们的建议是:如果您需要非技术人员可以使用的仪表盘,请使用Streamlight。如果您的团队主要是技术人员,并且您更关心功能而不是美观,那么Jupyter笔记本就是最好的选择。

Streamlight是一个数据仪表板工具,而Flask是一个Web框架。向用户提供页面是数据仪表板的一个重要但很小的组件。Flask没有任何数据可视化、操作或分析功能(尽管因为它是一个通用的Python库,所以它可以与执行这些任务的其他库很好地协同工作)。Streamlight是一个集网络服务和数据分析于一体的工具。

我们的建议是:如果您想要一个结构化数据仪表板,并且已经包含了许多您需要的组件,请使用Streamlight。如果您希望使用通用组件构建数据仪表板,并且不想重新发明轮子,请使用Streamlight。如果您想从头开始构建高度定制的解决方案,并且您有工程能力,请使用Flask。

DASH和SHINY都是完整的数据仪表板工具,但是Dash主要生活在Python生态系统中,而SHINY是R独有的。

Dash比Slight有更多的功能,特别是在它的企业版中,而且它更灵活。Python是一种通用编程语言,而R只专注于数据分析。一些数据科学家更喜欢R,因为它有成熟的库和(通常)更简洁的代码。工程师通常更喜欢Python,因为它更符合其他语言。

我们的建议是:如果您的团队更喜欢Python,请使用Dash。如果您的团队更喜欢R,请使用SHININY。

DASH是一个一体式仪表板解决方案,而Voila可以与Jupyter笔记本相结合,以获得类似的结果。Dash功能更强大、更灵活,它是专门为创建数据仪表板而构建的,而Voila是建立在Jupyter笔记本之上的一层薄层,用于将其转换为独立的Web应用程序。

我们的建议是:如果您想构建一个可伸缩的、灵活的数据仪表板工具,请使用Dash。如果您希望您的非技术团队能够使用现有的Jupyter笔记本,请使用Voila。

DASH构建在Flask之上,并使用Flask作为其Web路由组件,因此将它们进行逐个比较并不是很有意义。Dash是一个数据仪表板工具,而Flask是一个极简主义的通用Web框架。Flask没有包含数据分析工具,尽管它可以与其他进行分析的Python库一起使用。

我们的建议是:如果您想构建数据仪表板,请使用Dash。如果您想构建一个更通用的Web应用程序并选择其中的每个组件,请使用Flask。

SHINY是针对R的数据仪表板解决方案,虽然您可以将Voila和Jupyter笔记本与R配合使用,但这些工具主要关注Python生态系统。

我们的建议是:如果您已经在R中进行数据分析,请使用SHINY。如果您已经拥有Jupyter笔记本电脑,请使用Voila。

Shiny是用R构建的数据仪表板工具,Flask是用Python构建的Web框架。SHINY可以很好地与R绘图库配合使用,例如ggplot2。默认情况下,Flask没有内置任何数据分析工具。

我们的建议是:如果您正在构建一个数据仪表板,并且希望使用R进行数据分析,请使用SHINY。如果您希望从头开始构建一个通用的Web应用程序,请使用Flask。

VOILA是一个将Jupyter笔记本转换为独立的Web应用程序并使用Tornado为其提供服务的库。和Tornado一样,Flask也是一个通用的Web框架。虽然可以使用Flask为Jupyter笔记本提供服务,但您必须重新实现大部分Voila库-因此,除非您有非常具体的原因,否则最好直接使用Voila。

我们在这里介绍的所有工具都可以帮助您访问锁定在现有数据中的值。我们看到团队犯的一个常见错误是在选择要使用的工具时过于拘泥于此,而不是专注于数据本身。虽然使用错误的工具肯定会阻碍您的分析,但更常见的情况是团队陷入所谓的Bikeyhedding:花费太多时间辩论不太重要的细节。

如果您想聊聊探索您的数据并将其转化为更多收入,请与我们的首席执行官预订免费电话。