如何有效提升數據分析效率?相信這是所有數據分析工作者都想解決的問題。本文整理了五大python技巧,分別是Pandas Profiling;使用 Cufflinks 和 Plotly 繪制 Pandas 數據;IPython 魔術命令;Jupyter 中的格式編排;Jupyter 快捷鍵。相信這些技巧能很好地幫助大家提高數據分析的效率,下面趕緊來看看吧!zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
1. Pandas ProfilingzUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
該工具效果明顯。下圖展示了調用 df.profile_report() 這一簡單方法的結果:zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
使用該工具只需安裝和導入 Pandas Profiling 包。zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
2. 使用 Cufflinks 和 Plotly 繪制 Pandas 數據zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
經驗豐富的數據科學家或數據分析師大多對 matplotlib 和 pandas 很熟悉。也就是說,你只需調用 .plot() 方法,即可快速繪制簡單的 pd.DataFrame 或 pd.Series。zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
這已經很好了,不過是否可以繪制一個交互式、可縮放、可擴展的全景圖呢?是時候讓 Cufflinks* *出馬了!(Cufflinks 基于 Plotly 做了進一步的包裝。)在環境中安裝 Cufflinks,只需在終端中運行! pip install cufflinks --upgrade 即可。其他方法如 .scatter_matrix() 也可以提供非常棒的可視化結果。zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
3. IPython 魔術命令zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
IPython 的「魔術」是 IPython 基于 Python 標準語法的一系列提升。魔術命令包括兩種方法:行魔術命令(line magics):以 % 為前綴,在單個輸入行上運行;單元格魔術命令(cell magics):以 %% 為前綴,在多個輸入行上運行。下面列舉了 IPython 魔術命令提供的一些有用功能:zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
%lsmagic:找出全部命令zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
如果你只記得一個魔術命令,那必須得是這一個。執行 %lsmagic 命令將提供所有可用魔術命令的列表。%debug:交互式 debug是**常使用的魔術命令了。大部分數據科學家都遇到過這種情況:執行的代碼塊一直 break,你絕望地寫了 20 個 print() 語句,想輸出每個變量的內容。然后,當你**終修復問題后,你還得返回并再次刪除所有 print() 語句。不過以后再也不用這樣了。遇到問題后只需執行 %debug 命令,即可執行想要運行的任意代碼部分。zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
%store:在 notebook 之間傳遞變量zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
這個命令也很酷。假設你花了一些時間清洗 notebook 中的數據,現在你想在另一個 notebook 中測試一些功能,那么你是在同一個 notebook 中實現該功能,還是保存數據并在另一個 notebook 中加載數據呢?使用%store 命令后,這些操作都不需要!該命令將存儲變量,你可以在其他任意 notebook 中檢索該變量:%store [variable] 存儲變量;%store -r [variable] 讀取/檢索存儲變量。zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
%who:列出所有全局變量。zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
你是否遇到過,為變量賦值后卻忘記變量名的情況?或者不小心刪掉了負責為變量賦值的單元格?使用%who 命令,你可以得到所有全局變量的列表。zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
%%time:計時魔法命令zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
使用該命令可以獲取所有計時信息。只需對任意可執行代碼應用%%time 命令。zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
%%writefile:向文件寫入單元格內容zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
在 notebook 中寫復雜函數或類,且想將其保存到專屬文件中時,該魔法命令非常有用。只需為函數或類的單元格添加 %%writefile 前綴和想要保存到的文件名即可。我們可以將創建的函數保存到 utils.py 文件中,然后就可以隨意導入了。在其他 notebook 中也可以這樣,只要與 utils.py 文件屬于同一個目錄即可。 zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
4. Jupyter 中的格式編排zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
這個工具很酷!Jupyter 考慮到 markdown 中存在HTML/ CSS 格式。zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
藍色、時尚:
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
紅色、輕微慌張:zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
This is baaaaad!zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
綠色、平靜:zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
This is gooood!zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
5. Jupyter 快捷鍵zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
想了解和學習鍵盤快捷鍵,你可以使用命令面板:Ctrl + Shift + P,獲取 notebook 所有功能的列表。下面選取了幾個**基礎的命令:zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
Esc:進入命令模式。在命令模式內,你可以使用方向鍵在 notebook 內進行導航。zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
在命令模式內:zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
A 和 B:在當前單元格上方(Above)或下方(Below)插入新的單元格。zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
M:當前單元格轉入 Markdown 狀態。zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
Y:當前單元格轉入 code 狀態。zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
D,D:刪除當前單元格。zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
Enter:當前單元格回到編輯模式。zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
在編輯模式內:zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
Shift + Tab:為你在當前單元格中鍵入的對象提供文檔字符串(文檔),持續使用該快捷鍵,可循環使用文檔模式。zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
Ctrl + Shift + -:在光標所在處分割當前單元格。zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
Esc + F:查找并替換代碼(不包括輸出)。zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
Esc + O:切換單元格輸出。zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
選擇多個單元格:zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
Shift + Down 和 Shift + Up:選中下方或上方的單元格。zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
Shift + M:合并選中單元格。zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
注意,選中多個單元格后,你可以批量執行刪除/復制/剪切/粘貼/運行操作。zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
以上就是有效提升數據分析效率的五大Python技巧,大家都學會了嗎?覺得本文對你有幫助的話,不妨把文章分享出去幫助更多的人。zUC少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺