<返回更多

Datapane简介:构建交互式报表的Python库

2020-06-26    
加入收藏

简单的框架可创建精美的报告并与团队共享您的分析结果

Datapane简介:构建交互式报表的Python库

> Photo by Clay Banks on Unsplash

 

动机

对于许多Python数据分析,有时您想与他人共享您的发现。 显示您的工作将帮助您的团队和经理保持最新状态,并在网络中建立数据科学家的声誉。 在本文中,我提到共享工作是如何利用我的职业的:

我努力为数据科学奉献时间。 但是,找到新策略可以使我提高学习率并…

但是,仅仅共享是不够的。 假设在清理数据并创建了一些图表进行分析之后,您想与他人共享您的发现。 您要做的最后一件事是与非技术人员(例如您的涉众)共享整个代码或笔记本,并要求他们安装Jupyter Notebook和所需的环境以查看您的发现,如下所示:

"这是.ipynb文件。 要查看此文件,您需要安装这些软件包。 然后在命令行Jupyter Notebook上键入。 看到笔记本后,运行所有单元格,您应该能够看到数据和可视化。"

作为替代方案,您可以拍摄可视化照片并将其放在平台中,但是观众将无法对可视化进行太多控制-他们将无法交互使用它,浏览任何数据或更改输入参数 。 此外,他们每次想要更改时,都必须手动创建另一个报告。

最佳策略是在不设置环境的情况下共享特定的面向用户的部分。 如果您可以将这样的链接发送给您的队友或利益相关者,那不是很好

Datapane简介:构建交互式报表的Python库

 

在一个地方查看所有发现?

Datapane简介:构建交互式报表的Python库

 

那就是当您需要诸如Datapane之类的Python框架时。

什么是Datapane?

Datapane是面向使用Python分析数据并需要一种共享结果的人员的API。 它提供了一种方法,可以通过在分析中围绕通用对象的组件以编程方式创建报告,例如:

·Pandas数据框

· Python可视化库(例如Plotly,Bokeh,Altair和Folium)中的图

· Markdown

创建报告后,可以将报告发布到Web上,在云中动态生成或嵌入到您自己的应用程序中,在该应用程序中可以浏览数据,并可以交互使用可视化效果

Datapane还允许您部署Python脚本和笔记本,以便其他人可以运行它们来从浏览器生成报告,而不必担心代码,笔记本或设置Python环境。

试试吧!

假设您有一个带有Pandas Dataframe和Altair图表的脚本

import pandas as pd
import altair as alt

df = pd.read_csv('https://query1.finance.yahoo.com/v7/finance/download/GOOG?period2=1585222905&interval=1mo&events=history')

chart = alt.Chart(df).encode(
    x='Date:T',
    y='Open'
).mark_line().interactive()

要创建报告,只需按照以下步骤

· 使用以下方法安装Datapane

pip3 install datapane

· 在Datapane上注册以获取您自己的令牌,并使用该令牌登录终端中的datapane

datapane login --server=https://datapane.com/ --token=yourtoken

· 然后,只需在现有分析中再添加几行代码即可!

import datapane as dp

# Scripts to create df and chart
....

# Once you have the df and the chart, simply use
r = dp.Report(
  dp.Markdown('My simple report'), #add description to the report
  dp.Table(df), #create a table
  dp.Plot(chart) #create a chart
)

# Publish your report. Make sure to have visibility='PUBLIC' if you want to share your report
r.publish(name='stock_report', visibility='PUBLIC')

· 运行脚本,瞧! Datapane.com会自动为您创建一个报告!

https://datapane.com/khuyen/reports/stock_report_9eddadcd/

而已! 现在您需要做的就是将此链接分享给您的队友或经理

Datapane简介:构建交互式报表的Python库

 

或在社交媒体上分享

Datapane简介:构建交互式报表的Python库

 

我还能用Datapane做什么?

允许查看者输入新参数

您不仅希望查看者查看您的报告,而且还可能希望让他们能够与图进行交互并像这样插入不同的参数

借助Datapane,其他人可以生成您的报告,而不必担心代码,笔记本或设置Python环境。 他们可以输入要指定哪些参数作为输入,并且每次都会收到动态报告。

要部署名为stock_report.py的脚本,请创建上述脚本,然后使用Datapane的CLI:

datapane script deploy --script=stock_report.py --name=stock_report

在此处查看有关如何部署脚本的更多说明。

将报告嵌入社交平台

如果您是像我这样的中型作家或博客作者,则可能希望嵌入如下表格或图表:

Datapane简介:构建交互式报表的Python库

 

使用Datapane,您只需复制并粘贴在Medium上Datapane上发布的网址,即可将图表嵌入到Medium中。 您也可以将它们嵌入Reddit,Confluence,Notion或您自己的网站中。

在数据窗格上存储文件和对象以在多个脚本中使用

Datapane提供了一个Blob API,该API可让您从任何Python或CLI环境上传文件,并在脚本内或通过CLI访问它们。

假设您可以使用dp.Blob在blob.py中保存数据框,文件或对象,请使用

import datapane as dp

# Upload a DataFrame
b = dp.Blob.upload_df(df, name='my_df')

# Upload a file
b = dp.Blob.upload_file("~/my_dataset.csv", name='my_ds')

# Upload an object
b = dp.Blob.upload_obj([1,2,3], name='my_list')

然后,如果要将它们加载到另一个脚本中,请使用

import datapane as dp

# Download a DataFrame
blob = dp.Blob.get(name="blob_id")

# Download a DataFrame
b = blob.download_df()

# Download a file
b = blob.download_file("~/my_dataset.csv")

# Download an object
b = blob.download_obj()

从报告中下载表格和图表

如果您的查看者想要下载表格或图表,则可以使用报告中的"下载"按钮轻松地进行操作。

Datapane简介:构建交互式报表的Python库

 

结论

恭喜你! 您刚刚学到了一种新工具,可以与其他喜爱的Python库一起添加到数据科学工作流程中。

import pandas as pd
import numpy as np
import datapane as dp

希望本文为您试用Datapane提供了良好的开端。 您可以在此处了解有关Datapane的更多信息。 如果您对此工具有任何疑问,请在下面发表评论或在LinkedIn上给我发送消息。

我喜欢写有关基本数据科学概念的文章,并喜欢使用不同的算法和数据科学工具。 在Medium上关注我,以获取有关我最新文章的更新。 您也可以在LinkedIn和Twitter上与我联系。

(本文翻译自Khuyen Tran的文章《Introduction to Datapane: A Python Library to Build Interactive Reports》,参考:
https://towardsdatascience.com/introduction-to-datapane-a-python-library-to-build-interactive-reports-4593fd3cb9c8)

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>