日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Jupyter Notebook数据科学高效技巧

發(fā)布時(shí)間:2024/8/23 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Jupyter Notebook数据科学高效技巧 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

摘要:?本文有一些關(guān)于Jupyter?Notebook的干貨,希望看完文章可以給你帶來(lái)收獲

當(dāng)我學(xué)習(xí)有關(guān)深度學(xué)習(xí)的優(yōu)秀的fast.ai課程時(shí),我學(xué)到了很多適用于通用軟件工程的干貨。我寫這篇文章是為了總結(jié)這些技巧并與你分享。

1.Jupyter Notebook拓展

標(biāo)準(zhǔn)的Jupyter Notebook很不錯(cuò),但是還有更多的擴(kuò)展功能可以幫助你完成工作,并且可以將許多功能結(jié)合在一起。

Install Jupyter extension package

# Install Jupyterextension packagepip install jupyter_contrib_nbextensionsjupyter contrib nbextension install a€” user# Install configuratorpip install jupyter_nbextensions_configurator# Install themepip install jupyterthemes## Change theme (This is my default)''' Note that you need to use 1 command to configure thesetting, if you do 2 jt command, the second one will replacethe first one.'''jt -t grade3 -T

你可以在這里找到更多Jupyter主題。安裝配置器后,你會(huì)看到有一個(gè)新的“Nbextensions”選項(xiàng)卡。獲取這些項(xiàng)目打勾

1.Autopep8

2.Collapsible Headings

3.Gist-it


A.?Collapsible Headings

現(xiàn)在你可以折疊你的筆記本,而不是滾動(dòng)無(wú)窮的代碼。根據(jù)我的經(jīng)驗(yàn),在進(jìn)行探索性數(shù)據(jù)分析和繪制圖表時(shí),我寫了很多不干凈的代碼,我必須非常努力地滾動(dòng)才能到達(dá)目的地。你可以展開(kāi)單元格或折疊單元格以使其更清晰。我想你甚至可以做一個(gè)目錄(我還沒(méi)有嘗試過(guò)這個(gè)擴(kuò)展)。


B.?Gist-it


如果你以前使用過(guò)Gist,它基本上是一個(gè)讓你共享筆記本的地方。當(dāng)你想要共享你的代碼時(shí),這是非常有用的,特別是當(dāng)你有bug并且想要共享它的時(shí)候。只要按一下按鈕,一切就會(huì)在幾秒鐘內(nèi)完成。

默認(rèn)情況下,它將發(fā)布一個(gè)匿名的Gist,如果你想用Github帳戶發(fā)布它,你需要生成一個(gè)令牌認(rèn)證。主要的區(qū)別是,如果你用自己的帳號(hào)發(fā)表文章,你可以編輯你的要點(diǎn)。

我在這篇文章中使用的筆記本在此。

https://gist.github.com/a0d020c17ce1715bf1d031b1cb8a9fa4

C.?Autopep8


造型很重要,但也很無(wú)聊。如果你不想太用力,只要按一下這個(gè)小按鈕,它就會(huì)為你做所有的間隔!(PEP8是Python代碼的風(fēng)格指南)

2.把時(shí)間花在你的任務(wù)上,并從中吸取教訓(xùn)!

我一直在聲明循環(huán)之前的開(kāi)始時(shí)間,減去當(dāng)前時(shí)間來(lái)獲得運(yùn)行時(shí)間。這并沒(méi)有錯(cuò),但你可以讓它變得更容易。使用內(nèi)置的魔法命令。它們對(duì)你來(lái)說(shuō)可能不自然,但使用起來(lái)真的很方便。(魔法命令以%開(kāi)始)

讓我們從一個(gè)簡(jiǎn)單的函數(shù)開(kāi)始。它計(jì)算的是最后一個(gè)小于n的Fibonacci數(shù)。


你可以使用%time來(lái)計(jì)時(shí)一次運(yùn)行或函數(shù)%timeit來(lái)計(jì)時(shí),并得到平均值和標(biāo)準(zhǔn)偏差。這對(duì)于這些簡(jiǎn)單的函數(shù)很有用,那么調(diào)用另一個(gè)函數(shù)的函數(shù)呢?

這里是%prun,我創(chuàng)建了一個(gè)虛函數(shù),可以很長(zhǎng)時(shí)間調(diào)用fib1()。你可以看到循環(huán)確實(shí)花了一些時(shí)間,但大部分時(shí)間都花在了fib1()上。


3.Cython

Cython是一個(gè)允許你用python編譯C的包,這是numpy和pandas速度很快的主要原因。確保你已經(jīng)通過(guò)Cython安裝

pip install cython

在不改變?nèi)魏未a的情況下,你可以獲得即時(shí)的雙重性能!這很好,但一點(diǎn)也不神奇。


如果你稍微修改一下腳本,看看你能實(shí)現(xiàn)什么。如果你對(duì)C編程有一些經(jīng)驗(yàn),你可能知道,當(dāng)我們聲明一個(gè)變量時(shí),我們需要定義一個(gè)數(shù)據(jù)類型。這個(gè)腳本確實(shí)改變了一點(diǎn),因?yàn)橄襁@樣的操作對(duì)于Python來(lái)說(shuō)是獨(dú)一無(wú)二的,C語(yǔ)言沒(méi)有這個(gè)特性。因此,我們需要分配一個(gè)臨時(shí)變量來(lái)存儲(chǔ)該值。a,b = b,a


(感謝James Martini先前指出了fib3中的一些錯(cuò)誤!)

從582到48納秒,速度提高了10倍,而且你實(shí)際上不需要更改很多腳本。對(duì)我來(lái)說(shuō),這是令人興奮的,因?yàn)榇蟛糠謺r(shí)間你都可以使用慢速代碼。你所關(guān)心的是一次次被呼來(lái)喚去的。使用%prun和一些Cython代碼,可以在不編譯任何文件的情況下獲得C速度。

除了魔法命令,我發(fā)現(xiàn)在Jupyter做shell命令也是非常有用的。(魔法命令以%開(kāi)始,shell命令以!開(kāi)始)



本文由@阿里云云棲社區(qū)組織翻譯。

文章原標(biāo)題《Jupyter Notebook Tricks for Data Science that Enhance your ejciency》

作者:Nok

譯者:董昭男,審校:。

原文鏈接

干貨好文,請(qǐng)關(guān)注掃描以下二維碼:



創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的Jupyter Notebook数据科学高效技巧的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。