Datapane --python 資料分析報告開發與分享神器

dajiiiiii發表於2020-11-08

推薦一個python寫資料分析報告的神器,前幾天在微信訂閱號【Python大咖談】中有幸看到,覺得似乎很實用,便自己開始動手實操了。

連結直達:

官網地址:官網
文章地址:公眾號文章地址
先看一下實操效果吧!
在這裡插入圖片描述
duang!duang!duang!截圖效果!圖上圈出部分可進行網頁互動。體驗滿分。

實操部分

安裝

以pycharm為例子,在terminal控制檯輸入一下程式碼:

pip3 install datapane

接下來就是等候一堆進度條完成。下載完成之後,進行一個簡單的demo。

demo實操

1、下載資料來源 新增連結描述
2、我會將資料來源放在專案下面,方便呼叫。
3、製作簡單的可以下載的介面: Datapane 的 Table(表格)元件可以直接呼叫 DataFrame。下列程式碼將 DataFrame 傳遞至 Table 元件,只用這個元件就可以建立報告,即開篇的download表格部分

import pandas as pd
import altair as alt
import datapane as dp

dataset = pd.read_csv('./owid-covid-data.csv')
df = dataset.groupby(['continent', 'date'])['new_cases_smoothed_per_million'].mean().reset_index()
# # 可下載的csv格式
dp.Report(
     dp.Table(df)
 ).save(path='report.html', open=True)

4、有表格還不夠,做點視覺化作為支撐。這就要呼叫Plot元件。(與傳統 BI 工具不同,Datapane 不依賴專用的視覺化引擎,相反,它支援 Altair、Bokeh 等 Python 視覺化支援庫。)

import pandas as pd
import altair as alt
import datapane as dp

dataset = pd.read_csv('./owid-covid-data.csv')
df = dataset.groupby(['continent', 'date'])['new_cases_smoothed_per_million'].mean().reset_index()
# # 可下載的csv格式
# dp.Report(
#     dp.Table(df)
# ).save(path='report.html', open=True)

# 製作圖表
plot = alt.Chart(df).mark_area(opacity=0.4, stroke='black').encode(
    x='date:T',
    y=alt.Y('new_cases_smoothed_per_million:Q', stack=None),
    color=alt.Color('continent:N', scale=alt.Scale(scheme='set1')),
    tooltip='continent:N'
).interactive().properties(width='container')

dp.Report(
    # 圖
    dp.Plot(plot),
    # 表
    dp.Table(df)
).save(path='report.html', open=True)

好了,接下來就是慢慢探索啦。

相關文章