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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1个不为人知的 Jupyter notebook 使用技巧,今天分享出来。

發(fā)布時間:2024/9/15 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1个不为人知的 Jupyter notebook 使用技巧,今天分享出来。 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Jupyter Notebook 是一個友好的 Python 編輯器,更是一款集編程和寫作于一體的效率工具!最近有個小伙伴看到我的 Jupyter Notebook截圖,就問為啥你沒寫變量名就輸出結(jié)果了呢?

嘿嘿,這時候我才發(fā)現(xiàn)這個技巧竟然好多人都不知道。

正文開始~

今天給大家推薦一個不為人知的Jupyter Notebook使用技巧。

默認輸出

雖然平時我隨手可能直接就用 Sublime Text 編輯Python文件了,但是如果涉及處理數(shù)據(jù),還是習慣打開 Jupyter Notebook。

那我們還是以數(shù)據(jù)處理最常用的Pandas語句舉例吧,如下所示。

import?pandas?as?pddata?=?{"Car":?["A",?"B",?"C",?"D",?"E",?"F"],"Color":?["Red",?"Yellow",?"Black",?"Green",?"Black",?"Red"],"Year":?["1990",?"1980",?"2003",?"2000",?"2001",?"2004"],"Rating":?["2.5",?"1.5",?"3.8",?"9.7",?"8.9",?"3.2"]} df?=?pd.DataFrame(data) df.head()

讀取數(shù)據(jù)集data后,默認情況下 DataFrame 并不會輸出數(shù)據(jù)。我們通常會再寫一遍變量名df預覽數(shù)據(jù),或者使用head()方法檢查其前五行。

但是當我們進行大量數(shù)據(jù)處理時,就需要每執(zhí)行一個操作(替換、運算、轉(zhuǎn)換、拼接等等),就要單獨寫一個df.head或df檢查新的 DataFrame 對象。

這真的太麻煩了,怎么提高效率呢?

更改默認輸出

由于Jupyter Notebook 建立在IPython庫之上,我們通過運行以下代碼來更改默認輸出行為。它會更改 Jupyter Notebook 所依賴的 IPython 中交互式 shell 的工作方式。

from?IPython.core.interactiveshell?import?InteractiveShell? InteractiveShell.ast_node_interactivity?=?"last_expr_or_assign"

其作用就是:顯示最后一個表達式的計算結(jié)果或賦值語句中使用的值。

在運行了這兩行代碼后,我們再運行前面的Pandas代碼,就會發(fā)現(xiàn):

如上圖所示,我們不再需要運行df.head,所創(chuàng)建的DataFrame對象會自動顯示出來供我們檢查數(shù)據(jù)。

換成其他操作也是一樣的輸出結(jié)果。

這樣的話,我們每執(zhí)行一個操作就可以直接顯示操作后的 DataFrame 對象。

是不是很方便~

其實除了“l(fā)ast_expr_or_assign”選項之外,我們還可以嘗試其他選項。

ast_node_interactivity?=?Enum(['all',?'last',?'last_expr',?'none',?'last_expr_or_assign'],default_value='last_expr',help="""'all',?'last',?'last_expr'?or?'none',?'last_expr_or_assign'?specifyingwhich?nodes?should?be?run?interactively?(displaying?output?from?expressions).""").tag(config=True)

比如我們將ast_node_interactivity設置改為all后,

from?IPython.core.interactiveshell?import?InteractiveShell InteractiveShell.ast_node_interactivity?=?"all"

就可以實現(xiàn)一次性輸出多個結(jié)果。

一勞永逸

但是,最喜歡偷懶的我,肯定不樂意每次新建一個 Notebook 就要輸入這兩行代碼呀。

from?IPython.core.interactiveshell?import?InteractiveShell? InteractiveShell.ast_node_interactivity?=?"last_expr_or_assign"

所以我們可以用這個方案,一勞永逸 :

在我們電腦的/.ipython/profile_default目錄下,創(chuàng)建一個名為ipython_config.py的文件。

接著將下面這段代碼寫入ipython_config.py文件中。

c?=?get_config() c.InteractiveShell.ast_node_interactivity?=?"last_expr_or_assign"

創(chuàng)建該此文件后,我們再創(chuàng)建任何 Notebook 文件,打開之后的輸出行為都被固定下來了。

抑制輸出

這時候又有小伙伴會問了,我有的代碼單元格不想輸出咋辦啊。

啊這。。。

要不你再改回去?

算了,還有個方法,

就是在你的代碼后面加個分號,就能抑制輸出了。

如上圖所示,當我們以分號結(jié)束時,就不會顯示更多輸出。

各位伙伴們好,詹帥本帥搭建了一個個人博客和小程序,匯集各種干貨和資源,也方便大家閱讀,感興趣的小伙伴請移步小程序體驗一下哦!(歡迎提建議)

推薦閱讀

牛逼!Python常用數(shù)據(jù)類型的基本操作(長文系列第①篇)

牛逼!Python的判斷、循環(huán)和各種表達式(長文系列第②篇)

牛逼!Python函數(shù)和文件操作(長文系列第③篇)

牛逼!Python錯誤、異常和模塊(長文系列第④篇)

總結(jié)

以上是生活随笔為你收集整理的1个不为人知的 Jupyter notebook 使用技巧,今天分享出来。的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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