欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

五個Jupyter?Notebook實用魔法命令分享

 更新時間:2023年07月17日 14:23:15   作者:databook  
Jupyter?Notebook是一個開源的交互式編程環(huán)境,用于創(chuàng)建和共享包含實時代碼、文本等,本文主要來和大家分享一些有趣的Jupyter?Notebook魔法命令,需要的可以參考一下

Jupyter Notebook是一個開源的交互式編程環(huán)境,用于創(chuàng)建和共享包含實時代碼、文本、圖像和可視化輸出的文檔。

它交互式的編程方式是一大亮點,因為我們在數(shù)據(jù)分析的過程中,常常是一邊分析,一邊看分析結(jié)果,根據(jù)分析結(jié)果再調(diào)整數(shù)據(jù)或者分析參數(shù)。

有了 Jupyter Notebook,代碼和運行結(jié)果可以一起展示,省了很多來回切換的麻煩操作。

此外,它是基于Web的應(yīng)用程序,所以展示運行結(jié)果的方式很豐富,不僅僅是文字,圖表等也一樣可以展示。

Jupyter Notebook不僅僅支持python語言,還支持其他幾種常用于數(shù)據(jù)分析的語言,比如 Julia,R 等等。

介紹如何使用Jupyter Notebook編程和寫文檔的文章很多,本篇主要介紹幾個使用Jupyter Notebook時常用的幾個魔法命令。

這些魔法命令主要提供一些額外的功能和控制Notebook環(huán)境的行為。

1. 文件和路徑

查看當前路徑:

%pwd
#運行結(jié)果(環(huán)境不一樣,下面的路徑會不一樣):
'd:\\projects\\python\\notebooks'

魔法命令的結(jié)果還可以存儲到python變量中。

cur_path = %pwd
print(cur_path)
#運行結(jié)果:
'd:\\projects\\python\\notebooks'

列出當前文件夾下的文件:

%ls

這個命令在不同的系統(tǒng)中會自動調(diào)用不同的命令,

比如在Linux系統(tǒng)中,調(diào)用ls命令,在Windows系統(tǒng)中,會調(diào)用 dir 命令。

2. 自動保存

隨時保存自己的代碼和文檔是好習慣,如果怕忘了保存,也可以設(shè)置Jupyter Notebook的自動保存時間。

比如:

%autosave 10
#運行結(jié)果
Autosaving every 10 seconds

每隔10秒會自動保存一次。

3. 查看歷史

查看執(zhí)行過的歷史命令,這里不僅僅是歷史執(zhí)行的魔法命令,也包括執(zhí)行過的python代碼。

%history

通過復制歷史命令,我們再次執(zhí)行之前的命令或代碼時,不用再輸入一遍。

如果歷史命令太多,也可以指定只顯示最近的N條命令:

%history -l 3
#只顯示最近3條命令

4. 性能檢測

數(shù)據(jù)分析時,經(jīng)常接觸到數(shù)量龐大的數(shù)據(jù)。

編寫分析代碼處理龐大的數(shù)據(jù)時遇到性能問題是常事,Jupyter Notebook有兩個魔法命令可以幫助我們定位性能問題。

第一個是 %time,能夠顯示函數(shù)運行時間的相關(guān)信息:

def sum(n):
    s = 0
    for i in range(n):
        s += i
    return s
%time sum(100000)
%time sum(200000)
#運行結(jié)果
CPU times: total: 93.8 ms
Wall time: 87.9 ms
CPU times: total: 172 ms
Wall time: 168 ms

其中,

  • CPU time是程序在處理器上實際運行的時間
  • Wall time是程序從開始執(zhí)行到結(jié)束所花費的時間(包括了等待資源、I/O 操作等與CPU 時間無關(guān)的時間)

上面的示例中,第二次的運算量是第一個的兩倍,耗費的時間也差不多是兩倍。

除了 %time,還有一個 %timeit 命令,

它會統(tǒng)計多次運行后的結(jié)果,得到的結(jié)果更加可靠一些。

def sum(n):
    s = 0
    for i in range(n):
        s += i
    return s
%timeit sum(1000000)
#運行結(jié)果
63.9 ms ± 2.97 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)

運行結(jié)果的含義如下:

  • 63.9 ms 是運行時間的平均值
  • 2.97 ms是標準差,也就是運行時間的上下浮動范圍
  • 7 runs表示一共運行了7
  • 10 loops each表示每輪循環(huán)運行了10

%timeit 運行多少輪,以及每輪運行多少次是可以設(shè)置的。

def sum(n):
    s = 0
    for i in range(n):
        s += i
    return s
%timeit -n 20 -r 10 sum(1000000)
#運行結(jié)果
66.7 ms ± 4.75 ms per loop (mean ± std. dev. of 10 runs, 20 loops each)

-r 參數(shù)指定運行多少輪,-n參數(shù)指定每輪運行多少次。

5. 繪圖相關(guān)

最后,介紹在Jupyter Notebook中使用matplotlib繪圖時用到的魔法命令。

5.1. 直接顯示

%matplotlib inline,直接顯示在代碼的下方,這也是最常用的方式。

import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
x = np.arange(0, 10, 1)
y = x*x + 2
plt.plot(x, y)
plt.show()

5.2. 使用 TK 繪制

%matplotlib tk,會彈出新的窗口顯示圖形,并且圖形可以交互。

import matplotlib.pyplot as plt
import numpy as np
%matplotlib tk
x = np.arange(0, 10, 1)
y = x*x + 2
plt.plot(x, y)
plt.show()

紅色框標出的就是交互的按鈕。

5.3. 使用 notebook 繪制

%matplotlib notebook和使用tk是類似的,只是不彈出新的窗口。

import matplotlib.pyplot as plt
import numpy as np
%matplotlib notebook
x = np.arange(0, 10, 1)
y = x*x + 2
plt.plot(x, y)
plt.show()

這種方式同樣是可以交互的。

到此這篇關(guān)于五個Jupyter Notebook實用魔法命令分享的文章就介紹到這了,更多相關(guān)Jupyter Notebook魔法命令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于Python pyecharts實現(xiàn)多種圖例代碼解析

    基于Python pyecharts實現(xiàn)多種圖例代碼解析

    這篇文章主要介紹了基于Python pyecharts實現(xiàn)多種圖例代碼解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • python實現(xiàn)修改xml文件內(nèi)容

    python實現(xiàn)修改xml文件內(nèi)容

    這篇文章主要介紹了python實現(xiàn)修改xml文件內(nèi)容,XML 指可擴展標記語言,是一種標記語言,是從標準通用標記語言(SGML)中簡化修改出來的
    2022-07-07
  • python圖像處理-利用一行代碼實現(xiàn)灰度圖摳圖

    python圖像處理-利用一行代碼實現(xiàn)灰度圖摳圖

    這篇文章主要介紹了python圖像處理-利用一行代碼實現(xiàn)灰度圖摳圖,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 如何在windows下安裝配置python工具Ulipad

    如何在windows下安裝配置python工具Ulipad

    這篇文章主要介紹了如何在windows下安裝配置python工具Ulipad,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • python安裝包出現(xiàn)Retrying?(Retry(total=4,?connect=None,?read=None,?redirect=None,?status=None))問題解決

    python安裝包出現(xiàn)Retrying?(Retry(total=4,?connect=None,?read=No

    這篇文章主要給大家介紹了關(guān)于python安裝包出現(xiàn)Retrying?(Retry(total=4,?connect=None,?read=None,?redirect=None,?status=None))問題的解決方法,需要的朋友可以參考下
    2022-09-09
  • python解析mdf或mf4文件利器之a(chǎn)sammdf用法

    python解析mdf或mf4文件利器之a(chǎn)sammdf用法

    這篇文章主要介紹了python解析mdf或mf4文件利器之a(chǎn)sammdf用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • python實現(xiàn)2048小游戲

    python實現(xiàn)2048小游戲

    本文給大家分享的是個人修改自某網(wǎng)友的Python實現(xiàn)2048小游戲的代碼,推薦給大家,有需要的小伙伴可以參考下。
    2015-03-03
  • Python讀取HTML中的canvas并且以圖片形式存入Word文檔

    Python讀取HTML中的canvas并且以圖片形式存入Word文檔

    這篇文章主要介紹了Python讀取HTML中的canvas并且以圖片形式存入Word文檔,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • Python使用py2neo操作圖數(shù)據(jù)庫neo4j的方法詳解

    Python使用py2neo操作圖數(shù)據(jù)庫neo4j的方法詳解

    這篇文章主要介紹了Python使用py2neo操作圖數(shù)據(jù)庫neo4j的方法,結(jié)合實例形式詳細分析了Python使用py2neo操作圖數(shù)據(jù)庫neo4j的具體步驟、原理、相關(guān)使用技巧與操作注意事項,需要的朋友可以參考下
    2020-01-01
  • django redis的使用方法詳解

    django redis的使用方法詳解

    本文主要介紹了django redis的使用方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04

最新評論