數(shù)據(jù)科學家共享代碼塊的幾個新方法
譯文什么是代碼塊?
代碼塊是幾行代碼。它們可能含有提取數(shù)據(jù)集的函數(shù)、自動執(zhí)行任務的腳本或數(shù)據(jù)操作類。您可以共享幾行代碼以便高效地解釋,而不是共享整個項目。
為什么我們共享代碼片段?
共享代碼塊有助于您的項目演示、在社交媒體上獲得吸引力、創(chuàng)建交互式數(shù)據(jù)報表以及撰寫博客。
我們如何共享?
許多DevOps平臺提供代碼共享服務,比如GitHub、Gitlab、Kaggle和Colab。我們還將了解Deepnote、Carbon和Google Addon之類的新服務以改進我們的工作流程。
- Deepnote
Deepnote提供嵌入塊的共享,這包括顯示代碼和Jupyter單元(又譯單元格)輸出的選項。嵌入塊是我最喜歡Deepnote的地方之一;我將它用于Medium博客、WordPress網站、創(chuàng)建Google Docs演示文稿以及創(chuàng)建發(fā)布在社交媒體上的帖子。簡而言之,這是我共享代碼片段的首選工具。
要共享代碼,只需點擊特定的Jupyter單元,然后點擊共享塊按鈕。
圖1
在共享塊選項中,您可以選擇要包含的部分以及要粘貼的鏈接類型。一些網站只適合使用嵌入塊代碼,一些網站適合使用共享塊。
圖2
嵌入代碼塊顯示了有關印度女名人死因的Python代碼和甜甜圈圖。
fig, ax = plt.subplots(figsize=(16, 8))
fig.suptitle('Death Methods', size = 20, color = "black")
explode = ( 0.05, 0.3, 0.05, 0.05, 0.05)
labels = ["Natural Causes","Sucide","Homicide","Accident","Murdered"]
sizes = Women["Death Method"].dropna().value_counts()
ax.pie(sizes, explode=explode, colors=sns.color_palette("Pastel1"), startangle=60, labels=labels,autopct='%1.0f%%', pctdistance=0.9)
ax.add_artist(plt.Circle((0,0),0.4,fc='white'))
plt.show()
我們還可以在博客中添加交互性,讓讀者可以使用不同的選項。下面的Gif來自介紹每年酒精飲料消費量的Towards AI博客。我們可以播放動畫,將鼠標懸停在上面以查看確切的數(shù)字。
圖3
Deepnote嵌入單元不僅限于創(chuàng)建圖表或交互式圖。我們還可以使用Plotly來創(chuàng)建整個儀表板,并在互聯(lián)網上共享。
- Kaggle
Kaggle也提供嵌入單元的共享,但它有幾個限制。要共享Jupyter單元,需要公開您的Kaggle Notebook,嵌入鏈接適用于較少的網站。它不適用于Medium或WordPress。您需要對網站進行大幅更改才能使其正常工作。
進入到您要共享的單元,然后點擊嵌入單元選項。也可以直接鏈接單元,但該鏈接會將您重定向到該筆記本。
圖4
嵌入筆記本選項含有我們可以用來共享單個單元或整個筆記本的各個選項和鏈接。
圖5
- Colab
Google Colab僅提供鏈接共享,可將您帶到公開共享的筆記本和特定單元。它適用于處理龐大筆記本、希望傳達有關特定代碼塊的信息的人。
圖6
- GitHub Gist
GitHub Gist是許多開發(fā)人員和工程師使用的代碼共享工具。您會找到含有GitHub Gist的機器學習教程,這些教程解釋了模型架構或模型訓練。
GitHub Gist的加載時間更短,可以與任何博客或網站集成。缺點是您無法共享代碼的輸出。首先,您需要通過粘貼代碼然后復制嵌入鏈接來創(chuàng)建gist,如下所示:
圖7
代碼塊看起來很干凈,帶語法高亮顯示和干凈的格式。
作為比較,我們可以看到Deepnote單元和GitHub Gist。它們看起來都干凈,有語法高亮顯示功能,頗具交互性。
圖8
- Carbon
Carbon是一款在線工具,用于創(chuàng)建外觀漂亮的代碼塊圖像。它被社交媒體影響力者、數(shù)據(jù)科學家和數(shù)據(jù)教育者所使用。Carbon是我與更廣泛的受眾共享代碼的首選工具。Carbon為您提供各種主題選項、不同語言和版本選項,以創(chuàng)建適合您的代碼塊。代碼塊的輸出格式為 PNG或SVG。
圖9
Carbon準確地高亮顯示語法,以提供良好的可讀性。它沒有任何限制。您甚至可以在Instagram上共享,或將代碼塊設置為您博客的封面照片。
圖10
- GitLab Snippet
GitLab Snippet類似GitHub Gist,但不是進入到另一個網站。我們可以在項目內創(chuàng)建代碼片段,并與整個團隊共享。同樣,您可以在Medium博客、網站、社交媒體應用軟件上使用片段。在我看來,GitLab提供了完整的開發(fā)者生態(tài)系統(tǒng),一切都可以從項目內來享用。
圖11
- Google Docs Add-on
Google Docs Add-on代碼塊提供了多個顏色主題的語法高亮顯示。它在選項方面酷似Carbon,但不是創(chuàng)建圖像,而是在Google Docs內改變您的字體。我用它來創(chuàng)建教程、編寫報告以及為博客創(chuàng)建草稿。您的編輯看到代碼高亮顯示后會相當驚艷,因為它改善了您的視覺演示效果。
圖12
原文標題:??New Ways of Sharing Code Blocks for Data Scientists??,作者:Abid Ali Awan