99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀沒用過這幾招,別說你會使用Jupyter Notebook!
沒用過這幾招,別說你會使用Jupyter Notebook!
2020-11-04
收藏


作者:劉早起

來源:早起Python

如果你想用python進(jìn)行數(shù)據(jù)分析,那么Jupyter notebook是你必須要熟練掌握的工具之一,而Notebook也有很多省時好用的小技巧,本文將分享我在使用Notebook時習(xí)慣使用的一些操作!

1.在Notebook中安裝第三方庫

有時我們在進(jìn)行數(shù)據(jù)分析的過程中,或者是使用一些在線/遠(yuǎn)程Notebook,需要臨時安裝一個第三方庫,如果從命令行(甚至沒有命令行界面)安裝后再重啟notebook,那么所有進(jìn)度都將丟失!

這時我們可以使用!pip install xxx 就可以直接在notebook將第三方庫安裝到本地,比如安裝pyecharts

!?pip?install?pyecharts

其實!就是在notebook中執(zhí)行shell語句的符號,你也可以使用!來執(zhí)行! ls等任意命令行代碼。

2.在Notebook中使用markdown

以前經(jīng)常有粉絲讓我?guī)兔o他看代碼,發(fā)來的.ipynb文件打開后,所有說明性的文字都用#來注釋給出,讀起來那是一個難受。

其實在Notebook中也可以使用markdown語句,寫文字、打公式、貼圖片都很輕松,就像上圖一樣只需要選中目標(biāo)單元格,然后按下ESC,再按下M即可,也可以在菜單欄將當(dāng)前單元格轉(zhuǎn)為標(biāo)簽

3.快速計算運行時間

有時候我們需要計算一些函數(shù)或過程運行時間,以此來衡量代碼的效率,在其他IDE可能需要寫個函數(shù)或者使用第三方模塊來完成,而在Notebook中,提供了便捷的魔法函數(shù)

  • %time:在行模式下,代碼運行一次所花費的時間
  • %%time:在單元模式下,代碼運行一次所花費的時間
  • %timeit:在行模式下,執(zhí)行代碼塊若干次,取最佳結(jié)果
  • %%timeit:在單元模式下,執(zhí)行代碼塊若干次,取最佳結(jié)果

這樣我們只要敲幾下鍵盤,就能快速得到代碼塊的運行時間

4.查看當(dāng)前變量

當(dāng)我們的代碼越寫越多,定義的變量越來越多,有時候就容易忘記曾經(jīng)起過哪些名字,這時候回去翻代碼是痛苦的,而在Notebook中,可以使用%who_ls查看當(dāng)前定義了多少變量

當(dāng)然也可以指定變量類型查看,比如查看有哪些變量是字符串

5.一次刪除多行

有時候,當(dāng)我們將別人的代碼復(fù)制進(jìn)Notebook后,常常會發(fā)生縮進(jìn)錯誤

就像上圖所示的一樣,如果我們手動刪除紅框中的空白,那將會是很無聊的,需要按很多次退格鍵,這時我們可以按住option(Win下為Alt)鍵,此時光標(biāo)會變成十字形,現(xiàn)在就可以選中目標(biāo)區(qū)域一次性刪除

6.直接獲取文檔

如果我們需要查看某些函數(shù)的用法,可能需要通過百度或者查找官方文檔,額外打開很多頁面來檢索,其實在Notebook中可以使用Shift + Tab直接獲取該方法的文檔

就像上圖一樣,直接顯示pd.merge的用法,一目了然,點開還能查看更詳細(xì)的解釋

7.加載外部文件

還是魔法命令,使用%load 可以直接加載外部文件,比如%load test.py就可以直接在notebook中打開對應(yīng)文件,省去切換頁面-復(fù)制粘貼的時間。

直接打開在線文檔也是可以的,比如打開Matplotlib官方文檔中的示例代碼

%load?http://matplotlib.org/mpl_examples/pylab_examples/contour_demo.py

8.直接運行Python腳本

上面是直接打開外部文件,那么能不能直接運行?答案是可以的,只要使用%run xxx.py即可在notebook中運行Python腳本并輸出結(jié)果,以運行當(dāng)前工作目錄下的test.py為例

%run?test.py

以上就是我在使用Jupyter Notebook時常用的8個命令,并且使用上述命令無需安裝任何插件/外部模塊,快去試試吧。



——熱門課程推薦:

想學(xué)習(xí)PYTHON數(shù)據(jù)分析與金融數(shù)字化轉(zhuǎn)型精英訓(xùn)練營,您可以點擊>>>“人才轉(zhuǎn)型”了解課程詳情;

想從事業(yè)務(wù)型數(shù)據(jù)分析師,您可以點擊>>>“數(shù)據(jù)分析師”了解課程詳情;

想從事大數(shù)據(jù)分析師,您可以點擊>>>“大數(shù)據(jù)就業(yè)”了解課程詳情;

想成為人工智能工程師,您可以點擊>>>“人工智能就業(yè)”了解課程詳情;

想了解Python數(shù)據(jù)分析,您可以點擊>>>“Python數(shù)據(jù)分析師”了解課程詳情;

想咨詢互聯(lián)網(wǎng)運營,你可以點擊>>>“互聯(lián)網(wǎng)運營就業(yè)班”了解課程詳情;?

想了解更多優(yōu)質(zhì)課程,請點擊>>>



數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務(wù)器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }