简单的框架可创建精美的报告并与团队共享您的分析结果
> Photo by Clay Banks on Unsplash
对于许多Python数据分析,有时您想与他人共享您的发现。 显示您的工作将帮助您的团队和经理保持最新状态,并在网络中建立数据科学家的声誉。 在本文中,我提到共享工作是如何利用我的职业的:
但是,仅仅共享是不够的。 假设在清理数据并创建了一些图表进行分析之后,您想与他人共享您的发现。 您要做的最后一件事是与非技术人员(例如您的涉众)共享整个代码或笔记本,并要求他们安装Jupyter Notebook和所需的环境以查看您的发现,如下所示:
"这是.ipynb文件。 要查看此文件,您需要安装这些软件包。 然后在命令行Jupyter Notebook上键入。 看到笔记本后,运行所有单元格,您应该能够看到数据和可视化。"
作为替代方案,您可以拍摄可视化照片并将其放在平台中,但是观众将无法对可视化进行太多控制-他们将无法交互使用它,浏览任何数据或更改输入参数 。 此外,他们每次想要更改时,都必须手动创建另一个报告。
最佳策略是在不设置环境的情况下共享特定的面向用户的部分。 如果您可以将这样的链接发送给您的队友或利益相关者,那不是很好
在一个地方查看所有发现?
那就是当您需要诸如Datapane之类的Python框架时。
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环境。 他们可以输入要指定哪些参数作为输入,并且每次都会收到动态报告。
要部署名为stock_report.py的脚本,请创建上述脚本,然后使用Datapane的CLI:
datapane script deploy --script=stock_report.py --name=stock_report
在此处查看有关如何部署脚本的更多说明。
如果您是像我这样的中型作家或博客作者,则可能希望嵌入如下表格或图表:
使用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()
如果您的查看者想要下载表格或图表,则可以使用报告中的"下载"按钮轻松地进行操作。
恭喜你! 您刚刚学到了一种新工具,可以与其他喜爱的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)