自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

加速數(shù)據(jù)分析,這10個(gè)小技巧好用到哭

開發(fā) 后端 新聞
劃重點(diǎn)?。。”疚牧信e了一些使用Python和Jupyter Notebook的技巧,討論了如何輕松分析數(shù)據(jù)以及如何進(jìn)行格式化編碼、輸出和調(diào)試等操作。

劃重點(diǎn)!!!本文列舉了一些使用Python和Jupyter Notebook的技巧,討論了如何輕松分析數(shù)據(jù)以及如何進(jìn)行格式化編碼、輸出和調(diào)試等操作。

[[274627]]

在編程領(lǐng)域,有時(shí)一個(gè)小技巧就能節(jié)省大量時(shí)間,甚至能起到救命的效果。這些“必殺技”往往能在未來的數(shù)據(jù)分析中發(fā)揮重大作用。

1. 分析Pandas數(shù)據(jù)框架

Profiling(分析)是一個(gè)幫助理解數(shù)據(jù)的過程,Pandas Profiling(數(shù)據(jù)預(yù)覽分析)作為一個(gè)python工具包,就是用來幫助理解數(shù)據(jù)的。該工具能夠簡單快速地對熊貓數(shù)據(jù)框架進(jìn)行探索性數(shù)據(jù)分析。pandas df.describe()和df.info()functions通常是EDA過程的第一步。然而,這個(gè)步驟只提供一個(gè)基本的數(shù)據(jù)預(yù)覽,對大型數(shù)據(jù)集幫助不大。另外,Pandas Profiling功能使用df.profile_report()擴(kuò)展了熊貓數(shù)據(jù)框架,可以快速進(jìn)行數(shù)據(jù)分析。該功能僅用一行代碼就可以顯示很多信息,這也可以應(yīng)用在交互式的HTML報(bào)告中。

對于給定數(shù)據(jù)集,數(shù)據(jù)預(yù)覽分析包會處理以下數(shù)據(jù):

加速數(shù)據(jù)分析,這10個(gè)小技巧好用到哭

Pandas Profiling工具包計(jì)算的統(tǒng)計(jì)數(shù)據(jù)

安裝

  1. pip install pandas-profiling 
  2. or 
  3. conda install -c anaconda pandas-profiling 

使用

用古老的大數(shù)據(jù)集來演示python profiler的功能。

  1. #importing the necessary packages 
  2. import pandas as pd 
  3. import pandas_profiling 
  4. # Depreciated: pre 2.0.0 version 
  5. df = pd.read_csv('titanic/train.csv'
  6. pandas_profiling.ProfileReport(df) 

最近,Pandas-Profiling發(fā)布了一個(gè)重要的2.0.0升級版本。事實(shí)上,該版本對語法作了一點(diǎn)改變,這個(gè)功能也已經(jīng)包含在熊貓數(shù)據(jù)框架中了,報(bào)告也變得更加全面。以下是最新的語法用法:

使用

要在Jupyter筆記本中顯示報(bào)告,并運(yùn)行:

  1. #Pandas-Profiling 2.0.0 
  2. df.profile_report() 

這一行代碼就是用戶在Jupyter筆記本中顯示數(shù)據(jù)分析報(bào)告所需的全部內(nèi)容。顯示的報(bào)告非常詳細(xì),必要時(shí)還包括圖表。

加速數(shù)據(jù)分析,這10個(gè)小技巧好用到哭

通過下列代碼用戶還可以將該報(bào)告導(dǎo)出到交互式HTML文件中:

  1. profile = df.profile_report(title='Pandas Profiling Report'
  2. profile.to_file(outputfile="Titanic data profiling.html"

 

加速數(shù)據(jù)分析,這10個(gè)小技巧好用到哭

更多詳細(xì)信息和示例:https://pandas-profiling.github.io/pandas-profiling/docs/

2. 增強(qiáng)Pandas plots的互動性

Pandas有一個(gè)內(nèi)置的 .plot() 功能,是數(shù)據(jù)框架類的一部分。然而,該功能不盡人意的地方在于呈現(xiàn)的可視化不是交互式的。相反,用pandas.DataFrame.plot()功能繪制圖表就很容易。如果不對代碼做重大修改,可以繪制出像熊貓圖表一樣的交互式圖表嗎?答案是可以的,Cufflinks庫能夠幫助做到這一點(diǎn)。

Cufflinks庫將plotly的功能與Pandas的靈活性結(jié)合起來,使繪圖簡單化?,F(xiàn)在就來看看如何安裝這個(gè)庫,并讓它在pandas上運(yùn)行。

安裝

  1. pip install plotly # Plotly is a pre-requisite before installing cufflinks 
  2. pip install cufflinks 

使用

  1. #importing Pandas  
  2. import pandas as pd 
  3. #importing plotly and cufflinks in offline mode 
  4. import cufflinks as cf 
  5. import plotly.offline 
  6. cf.go_offline() 
  7. cf.set_config_file(offline=False, world_readable=True

現(xiàn)在來看看大數(shù)據(jù)集的魔力

  1. df.iplot() 
加速數(shù)據(jù)分析,這10個(gè)小技巧好用到哭

 

 

 

加速數(shù)據(jù)分析,這10個(gè)小技巧好用到哭

 

 

  1. df.iplot() 與 df.plot() 

右邊的可視化顯示的是靜態(tài)圖表,而左邊則是交互式圖表,更為詳細(xì)。這些圖表在語法上都沒有作出重大改變。

更多示例:https://github.com/santosjorge/cufflinks/blob/master/Cufflinks%20Tutorial%20-%20Pandas%20Like.ipynb

3. 少許魔法

魔法命令(Magic commands)是Jupyter筆記本中的一組便捷功能,旨在解決標(biāo)準(zhǔn)數(shù)據(jù)分析中的一些常見問題。在 %lsmagic的幫助下,用戶可以看到所有可用的魔法功能。

加速數(shù)據(jù)分析,這10個(gè)小技巧好用到哭

所有可用魔法功能的清單

魔法命令有兩種:行魔法,即以單個(gè)%字符為前綴,在單行輸入上操作;單元格魔法,即以%%為前綴,在多行輸入上操作。如果設(shè)置為1,則無需鍵入初始%即可調(diào)用魔術(shù)功能。

一起來看看兩種魔法命令在常見數(shù)據(jù)分析任務(wù)中的應(yīng)用:

  • % pastebin

%pastebin將代碼上傳到Pastebin并返回url地址。Pastebin屬于在線內(nèi)容托管服務(wù),在這里,用戶可以存儲如源代碼片段等純文本,然后與他人共享網(wǎng)址。事實(shí)上,Github的要點(diǎn)也類似于pastebin,盡管存在版權(quán)限制。

考慮一個(gè)包含以下內(nèi)容的python腳本file.py:

  1. #file.py 
  2. def foo(x): 
  3.  return x 

在Jupyter筆記本中使用 %pastebin會生成一個(gè)pastebin網(wǎng)址。

加速數(shù)據(jù)分析,這10個(gè)小技巧好用到哭
  • %matplotlib notebook

%matplotlib inline功能用于渲染Jupyter筆記本中的靜態(tài)matplotlib圖。嘗試用notebook替換inline,以輕松獲得可變焦、可調(diào)整大小的繪圖。請確保在導(dǎo)入matplotlib庫之前啟用該功能。

加速數(shù)據(jù)分析,這10個(gè)小技巧好用到哭

%matplotlib inline 與 %matplotlib notebook

  • %run

%run 功能在筆記本內(nèi)部運(yùn)行python腳本。

  1. %run file.py 
  • %%writefile

%%writefile 將單元格的內(nèi)容寫入文件。通過該功能,代碼將被寫入一個(gè)名為foo.py的文件,并保存在當(dāng)前目錄中。

加速數(shù)據(jù)分析,這10個(gè)小技巧好用到哭
  • %%latex

%%latex 功能將單元格內(nèi)容呈現(xiàn)為 LaTeX格式。這對于在單元格中編寫數(shù)學(xué)公式和方程很有用。

加速數(shù)據(jù)分析,這10個(gè)小技巧好用到哭

4. 查找并消除錯(cuò)誤

Interactive debugger也是一個(gè)有魔力的功能,但本文對它進(jìn)行單獨(dú)分類。如果在運(yùn)行代碼單元時(shí)出現(xiàn)異常,用戶可以在新的一行中鍵入 %debug 并恢復(fù)運(yùn)行。這一操作將打開一個(gè)交互式調(diào)試環(huán)境,找到發(fā)生異常的位置。用戶還可以檢查程序中分配的變量值,并在此執(zhí)行操作。點(diǎn)擊q即可退出調(diào)試。

加速數(shù)據(jù)分析,這10個(gè)小技巧好用到哭

5. 美觀排版

如果想建立美觀的數(shù)據(jù)結(jié)構(gòu),pprint是一個(gè)直接的模塊,在打印字典或JSON數(shù)據(jù)時(shí)特別有用。下面來看一個(gè)使用print 和 pprint 來顯示輸出的例子。

加速數(shù)據(jù)分析,這10個(gè)小技巧好用到哭

6. 筆記突出顯示

可以在Jupyter筆記本中使用alert/Note boxes來標(biāo)記一些重要的或需要突出的內(nèi)容。筆記的顏色取決于突出內(nèi)容的重要程度。用戶只需在需要突出顯示的單元格中添加以下任意或所有代碼。

  • 藍(lán)色筆記框:信息
  1. <div class="alert alert-block alert-info"
  2. <b>Tip:</b> Use blue boxes (alert-info) for tips and notes.  
  3. If it’s a note, you don’t have to include the word “Note”. 
  4. </div> 

 

加速數(shù)據(jù)分析,這10個(gè)小技巧好用到哭
  • 黃色筆記框:警告
Example: Yellow Boxes are generally used to include additional examples or mathematical formulas.
加速數(shù)據(jù)分析,這10個(gè)小技巧好用到哭
  • 綠色筆記框:完成
  1. <div class="alert alert-block alert-success"
  2. Use green box only when necessary like to display links to related content. 
  3. </div> 

 

加速數(shù)據(jù)分析,這10個(gè)小技巧好用到哭
  • 紅色筆記框:危險(xiǎn)
  1. <div class="alert alert-block alert-danger"
  2. It is good to avoid red boxes but can be used to alert users to not delete some important part of code etc.  
  3. </div> 

 

加速數(shù)據(jù)分析,這10個(gè)小技巧好用到哭

7. 打印單元格的所有輸出

例如包含以下代碼行的Jupyter筆記本單元格:

  1. In [1]: 10+5  
  2.  11+6 
  3. Out [1]: 17 

只打印最后一個(gè)輸出是單元格的正常屬性,而其他輸出,則需要添加 print()功能。事實(shí)證明,只要在筆記本頂部添加以下代碼段,就可以打印所有的輸出內(nèi)容。

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

現(xiàn)在所有輸出可以一個(gè)接一個(gè)地打印出來。

  1. In [1]: 10+5  
  2.  11+6 
  3.  12+7 
  4. Out [1]: 15 
  5. Out [1]: 17 
  6. Out [1]: 19 

輸入以下代碼可恢復(fù)到初始設(shè)置:

  1. InteractiveShell.ast_node_interactivity = "last_expr" 

8. 使用‘i’選項(xiàng)運(yùn)行python腳本

從命令行運(yùn)行python腳本的一種典型方式是:python hello.py。但是,如果在運(yùn)行相同腳本時(shí)添加一個(gè)額外的-i,例如python -i hello.py,則會帶來更多優(yōu)勢。具體操作如下:

  • 首先,一旦程序結(jié)束,python就不會退出解釋程序。此時(shí),用戶可以檢查變量值和程序中定義功能。
加速數(shù)據(jù)分析,這10個(gè)小技巧好用到哭
  • 其次,因?yàn)橛脩羧匀辉诮忉尦绦蛑?,所以可以通過以下方式輕松調(diào)用python調(diào)試器:
  1. import pdb 
  2. pdb.pm() 

該方式可幫助用戶找到異常發(fā)生的位置,然后可以處理代碼。

加速數(shù)據(jù)分析,這10個(gè)小技巧好用到哭

漏洞的原始來源

9. 自動注釋代碼

Ctrl/Cmd + / 可以自動注釋掉單元格中選定的行。再次點(diǎn)擊該組合鍵可以取消同一行代碼的注釋。

加速數(shù)據(jù)分析,這10個(gè)小技巧好用到哭

10. 撤銷刪除操作

你曾經(jīng)有不小心刪除過筆記本中的單元格嗎?如果有,那么這里有一個(gè)快捷鍵可以撤銷刪除操作。

  • 如果刪除了單元格的內(nèi)容,可以通過點(diǎn)擊CTRL/CMD+Z來輕松恢復(fù)它
  • 如果需要恢復(fù)整個(gè)刪除的單元格,可以點(diǎn)擊ESC+Z或者 EDIT > Undo Delete Cells
加速數(shù)據(jù)分析,這10個(gè)小技巧好用到哭

 

 

責(zé)任編輯:華軒 來源: 今日頭條
相關(guān)推薦

2020-08-21 08:52:09

Python數(shù)據(jù)分析工具

2020-08-19 09:22:14

Python語言工具

2020-12-31 10:33:05

Python開發(fā)編程

2019-07-25 14:23:36

2019-10-18 10:04:45

Vim文本編輯器語言

2020-10-14 18:53:14

Python編程語言

2019-07-10 15:51:40

Python數(shù)據(jù)分析代碼

2021-07-19 15:47:45

Python編程語言代碼

2020-07-07 14:35:41

Python數(shù)據(jù)分析命令

2019-06-23 18:30:00

Python數(shù)據(jù)分析編碼

2019-09-10 11:31:16

Python數(shù)據(jù)分析表達(dá)式

2023-10-04 00:17:00

SQL數(shù)據(jù)庫

2022-03-29 18:18:07

Kubernetes框架

2020-12-14 08:30:02

JavaScript開發(fā)代碼

2015-10-28 10:01:52

數(shù)據(jù)分析大數(shù)據(jù)小數(shù)據(jù)

2017-07-20 16:40:36

大數(shù)據(jù)分析工具

2021-11-15 10:02:16

Python命令技巧

2023-04-26 00:34:36

Python技巧程序員

2013-01-06 11:01:59

大數(shù)據(jù)分析

2022-03-08 14:10:10

數(shù)據(jù)分析數(shù)據(jù)集Python
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號