利用 Python 進行數據分析(三)使用 IPython 提高開發效率

来源:http://www.cnblogs.com/sirkevin/archive/2016/08/03/5734528.html
-Advertisement-
Play Games

一、IPython 簡介 IPython 是一個互動式的 Python 解釋器,而且它更加高效。 它和大多傳統工作模式(編輯 -> 編譯 -> 運行)不同的是, 它採用的工作模式是:執行 -> 探索 ,而大部分和數據分析相關的代碼都含有探索式操作(比如試誤法和迭代法),所以 IPython 能大大提 ...


  一、IPython 簡介
IPython 是一個互動式的 Python 解釋器,而且它更加高效。 它和大多傳統工作模式(編輯 -> 編譯 -> 運行)不同的是, 它採用的工作模式是:執行 -> 探索 ,而大部分和數據分析相關的代碼都含有探索式操作(比如試誤法和迭代法),所以 IPython 能大大提高編碼效率。
IPython 發展到現在,它不僅僅只是一個加強版的 Python shell 了, 它集成了 GUI 控制台,這可以讓你直接進行繪圖操作;它還有一個基於 Web 的互動式筆記本和一個輕量級的快速並行的計算引擎。

二、編寫代碼
在 Terminal 中輸入 ipython 既可啟動 IPython。 如果需要使用 Matplotlib 庫,則需要在啟動的時候標記集成 Matplotlib 包,則啟動命令改為:ipython --pylab
1. 學會使用 Tab 鍵
在輸入代碼的時候,如果這是一個前面已經輸入過的內容(比如前面定義的變數),則只需要在 輸入了前幾個字母之後摁下 Tab 鍵即可自動補全。 IPython 擁有這個功能是對標準的 Python shell 的主要改進,這在其他語言的 IDE 中已經非常常見。
不僅能自動補全變數、對象等,像在 Terminal 中敲入命令一樣 Tab 鍵還可以自動完成文件路徑。
2. 上下箭頭鍵,快速輸入歷史命令
當某條命令或代碼需要反覆輸入的時候,不必每次都手動敲一遍,只需要使用上箭頭鍵既可自動補全上一條命令;此時再繼續摁上箭頭鍵是上上條命令。 如果某個命令需要摁很多次上箭頭鍵才能找到,此時只需要輸入那條命令的前幾個字母然後再摁上箭頭鍵,即可只篩選符合前幾個字母的命令。
3. 執行一個 .py 文件
如果想要執行一個外部的 .py 文件,使用 %run 命令,例如:
4. 查看相關代碼的通用信息
當你需要查看一個變數或對象相關的通用信息的時候,在此變數後添加一個問號然後摁回車鍵即可。例如:
如果某個函數的包含 docstring,則在函數名後添加一個問號(?)也可以查看相關的 docstring 內容; 如果在函數名後添加兩個問號(??),則可以顯示該函數相關的源代碼,例如:
5. 編碼過程中相關的快捷鍵
  • Ctrl+F 游標前移1個字元
  • Ctrl+B 游標後移1個字元
  • Ctrl+A 游標移至行首
  • Ctrl+E 游標移至行尾
  • Ctrl+U 刪除此行游標之前的所有內容
  • Ctrl+K 刪除此行游標之後的所有內容
  • Ctrl+L 清屏(Mac 下 Cmd+K 也可以)

三、調試代碼
1. 代碼發生異常後啟動調試器
在代碼發生異常後,輸入 %debug 命令會啟動調試器並自動跳轉到“事發地點”:
輸入 q 命令退出調試器。
2. 單步執行
使用帶 -d 選項的 %run 命令可以預先打開調試器,輸入 s 單步進入函數調用,輸入 n 命令執行到下一行代碼,輸入嘆號(!)緊接著輸入變數名可查看變數的值。例如:
這條命令如果再添加一個指定行號的選項(-b)即可在啟動調試器時設置一個斷點,例如:
接下來一篇隨筆內容是:利用 Python 進行數據分析(四)NumPy 基礎 - ndarray 數組和矢量計算,有興趣的朋友歡迎關註本博客,也歡迎大家添加評論進行討論。

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1. 按照官方頁面進行安裝 https://www.microsoft.com/net/core#macos 2. 在運行"brew link --force openssl" 時會出錯,這是一個known issue,可以先跳過此步驟,進行下一步,安裝.NET Core SDK 3. 然後參考此頁 ...
  • NSoup是一個開源框架,是JSoup(Java)的.NET移植版本 1、直接用起來 NSoup的強大之處在於可以用類似js的方法來獲取節點元素 通過元素類型獲取元素GetElementByTag("p") 2、做了一個winform的小demo 關鍵代碼: 下麵以提取一個html代碼中211大學名 ...
  • Redis是一個用的比較廣泛的Key/Value的記憶體資料庫,也是最快的key-value分散式緩存之一。 Redis官網:http://redis.io/ Redis快速入門教程:http://www.yiibai.com/redis/redis_quick_guide.html 解壓版下載地址: ...
  • 度娘的思路 Action() { //實現1-2+3-4+5……+99-100的值 //20160802 int i,tag,sum; sum=0; tag=1; for(i=1;i<=100;i++) { sum+=i*tag; tag=-tag; } lr_output_message ("%d ...
  • 一、集群容錯 技術選型:hystrix。(就是上圖中熔斷器) 熔斷的作用: 第一個作用: 假設有兩台伺服器server1(假設可以處理的請求閾值是1W請求)和server2,在server1上註冊了三個服務service1、service2、service3,在server2上註冊了一個服務serv ...
  • windows-->preference-->myeclipse-->files and editors-->jsp 右側 Encoding 選擇 ISO 10646/Unicode(UTF-8)。 ...
  • 第一種:指定Method屬性(Action比較多) <!-- 聲明包 --> <package name="user" extends="struts-default"> <!-- 定義action --> <action name="first" class="com.sxt.action.Use ...
  • Java記憶體分配和回收的機制概括的說,就是:分代分配,分代回收。 對象將根據存活的時間被分為:年輕代(Young Generation)、年老代(Old Generation)、永久代(Permanent Generation,也就是方法區)。 java中每新new一個對象所占用的記憶體空間就是年輕代 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...