簡單的框架可創建精美的報告并與團隊共享您的分析結果
> Photo by Clay Banks on Unsplash
動機
對于許多Python數據分析,有時您想與他人共享您的發現。 顯示您的工作將幫助您的團隊和經理保持最新狀態,并在網絡中建立數據科學家的聲譽。 在本文中,我提到共享工作是如何利用我的職業的:
我努力為數據科學奉獻時間。 但是,找到新策略可以使我提高學習率并…
但是,僅僅共享是不夠的。 假設在清理數據并創建了一些圖表進行分析之后,您想與他人共享您的發現。 您要做的最后一件事是與非技術人員(例如您的涉眾)共享整個代碼或筆記本,并要求他們安裝Jupyter Notebook和所需的環境以查看您的發現,如下所示:
"這是.ipynb文件。 要查看此文件,您需要安裝這些軟件包。 然后在命令行Jupyter Notebook上鍵入。 看到筆記本后,運行所有單元格,您應該能夠看到數據和可視化。"
作為替代方案,您可以拍攝可視化照片并將其放在平臺中,但是觀眾將無法對可視化進行太多控制-他們將無法交互使用它,瀏覽任何數據或更改輸入參數 。 此外,他們每次想要更改時,都必須手動創建另一個報告。
最佳策略是在不設置環境的情況下共享特定的面向用戶的部分。 如果您可以將這樣的鏈接發送給您的隊友或利益相關者,那不是很好
在一個地方查看所有發現?
那就是當您需要諸如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做什么?
允許查看者輸入新參數
您不僅希望查看者查看您的報告,而且還可能希望讓他們能夠與圖進行交互并像這樣插入不同的參數
借助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)