真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

提高Python數(shù)據(jù)分析速度的技巧有哪些-創(chuàng)新互聯(lián)

這篇文章主要介紹“提高Python數(shù)據(jù)分析速度的技巧有哪些”,在日常操作中,相信很多人在提高Python數(shù)據(jù)分析速度的技巧有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”提高Python數(shù)據(jù)分析速度的技巧有哪些”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的巍山網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

1.預(yù)覽Pandas中的數(shù)據(jù)框數(shù)據(jù)(Dataframe)

分析預(yù)覽(profiling)是一個(gè)幫助我們理解數(shù)據(jù)的過程,在Python中Pandas Profiling 是可以完成這個(gè)任務(wù)的一個(gè)工具包,它可以簡(jiǎn)單快速地對(duì)Pandas 數(shù)據(jù)框進(jìn)行搜索性數(shù)據(jù)分析。Pandas中df.describe()和df.info()函數(shù)通??梢詫?shí)現(xiàn)EDA過程的第一步,但如果只是給出非?;A(chǔ)的數(shù)據(jù)預(yù)覽并不能對(duì)分析那些大型的數(shù)據(jù)集提供幫助。另一方面來看,Pandas Profiling函數(shù)能通過一行代碼來展示出大量的信息,而在交互式HTML報(bào)告中也是這樣。

對(duì)于一個(gè)給定的數(shù)據(jù)集,Pandas Profiling 工具包將會(huì)計(jì)算出下面的統(tǒng)計(jì)信息:

提高Python數(shù)據(jù)分析速度的技巧有哪些

由pandas profiling包算出的統(tǒng)計(jì)信息

代碼示例:

安裝

Python2.x的版本中,運(yùn)用pip或conda安裝pandas-profiling資源包:

pip install pandas-profiling
or
conda install -c anaconda pandas-profiling

使用

現(xiàn)在用一個(gè)古老的泰坦尼克數(shù)據(jù)集來演示多功能python profiler的結(jié)果:

#importing the necessary packages
import pandas as pd ##使用pandas資源包
import pandas_profiling ##使用新安裝的pandas profiling資源包
df = pd.read_csv('titanic/train.csv') ##讀取數(shù)據(jù)形成數(shù)據(jù)框
pandas_profiling.ProfileReport(df) ##使用pandas profiling

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

這一行就是你需要在jupyter notebook中形成數(shù)據(jù)分析報(bào)告所需的全部代碼。這個(gè)數(shù)據(jù)報(bào)告十分詳細(xì),包括了所有必要的圖表。

提高Python數(shù)據(jù)分析速度的技巧有哪些

這個(gè)報(bào)告也可以用下面的代碼形成交互HTML文件(interactive HTML file)導(dǎo)出:

profile = pandas_profiling.ProfileReport(df)
profile.to_file(outputfile="Titanic data profiling.html") ##形成Titanic data profiling.html網(wǎng)頁

提高Python數(shù)據(jù)分析速度的技巧有哪些

2.Pandas圖表(Plot)的交互性

Pandas中有一個(gè)內(nèi)置的.plot()函數(shù)作為數(shù)據(jù)框(Dataframe)的一部分,但因?yàn)檫@個(gè)函數(shù)呈現(xiàn)的可視化并不是交互的,這使它的功能沒那么吸引人。而且,使用pandas.DataFrame.plot()函數(shù)繪制圖表也并不容易。如果我們想要在沒有對(duì)代碼進(jìn)行重大修改的情況下用pandas繪制交互式圖表要怎么辦?嗯,可以通過Cufflinks資源包來幫助你完成這一目的。

Cufflinks資源包將功能強(qiáng)大的plotly和靈活易用的pandas結(jié)合,非常便于繪圖?,F(xiàn)在我們來看看怎么安裝和在pandas中使用這個(gè)資源包。

代碼示例:

安裝

Python2.x的版本中,使用pip安裝plotly和cufflink:

pip install plotly # Plotly is a pre-requisite before installing cufflinks(plotly先于cufflinks安裝)
pip install cufflinks

使用

調(diào)用方法:

#importing Pandas 
import pandas as pd ##使用pandas資源包
#importing plotly and cufflinks in offline mode
import cufflinks as cf ##使用cufflinks 和plotly資源包
import plotly.offline
cf.go_offline() ##使用cufflink包中的函數(shù)
cf.set_config_file(offline=False, world_readable=True)

下面來看一下泰坦尼克數(shù)據(jù)集所展現(xiàn)的魔力:

df.iplot()

提高Python數(shù)據(jù)分析速度的技巧有哪些

提高Python數(shù)據(jù)分析速度的技巧有哪些

右邊的可視化展示的是靜態(tài)的線狀圖,而左邊的圖是交互式的,并且更加詳細(xì),兩個(gè)圖在代碼上沒有重大的變化。

3.一點(diǎn)點(diǎn)魔法

Magic命令是Jupyter Notebook中的一組便捷功能,它們旨在解決數(shù)據(jù)分析中一些常見的問題。你可以用%Ismagic來查閱所有的Magic 命令。

提高Python數(shù)據(jù)分析速度的技巧有哪些

上圖列舉了所有可用的Magic 函數(shù)

Magic命令有兩大類:行magic命令(line magics),以單個(gè)% 字符為前綴,單行輸入操作;單元magics命令(cell magics),以雙%% 字符作為前綴,可以在多行輸入操作。如果設(shè)置為1,我們使用magic 函數(shù)時(shí)不需要鍵入%。

下面讓我們來看一下,在常見的數(shù)據(jù)分析任務(wù)中一些可能會(huì)用到的命令。

% pastebin

% pastebin將代碼上傳到Pastebin并返回一個(gè)鏈接。Pastebin是一個(gè)線上內(nèi)容托管服務(wù),我們可以在上面存儲(chǔ)純文本,如源代碼片段,所形成的鏈接也可以分享給他人。事實(shí)上,Github gist也類似于pastebin,只是它帶有版本控制。

代碼示例:

來看一下這個(gè)file.py的python代碼文件中的內(nèi)容:

#file.py
def foo(x):
 return x

在Jupyter Notebook中使用% pastebin形成一個(gè)pastebin的鏈接。

提高Python數(shù)據(jù)分析速度的技巧有哪些

%matplotlib notebook

%matplotlib inline函數(shù)用于在Jupyter筆記本中呈現(xiàn)靜態(tài)matplotlib圖。我們可以嘗試用notebook來代替inline得到可輕松地縮放和調(diào)整大小的繪圖,但要確保在套用matplotlib資源包之前調(diào)用該函數(shù)。

提高Python數(shù)據(jù)分析速度的技巧有哪些

%matplotlib inline vs %matplotlib notebook

%run

%run函數(shù)用于jupyter notebook中運(yùn)行一個(gè)python腳本文件。

%%writefile

%% writefile將執(zhí)行單元的內(nèi)容寫入文件。下面的這段代碼將寫入名為foo.py的文件并保存在當(dāng)前目錄中。

提高Python數(shù)據(jù)分析速度的技巧有哪些

%%latex

%% latex函數(shù)將單元格內(nèi)容以LaTeX的形式呈現(xiàn)。它對(duì)于在單元格中編寫數(shù)學(xué)公式和方程很有用。

提高Python數(shù)據(jù)分析速度的技巧有哪些

4.發(fā)現(xiàn)并減少錯(cuò)誤

交互式調(diào)試器(interactive debugger)也是一個(gè)Magic函數(shù),但我必須給它歸個(gè)類。如果你在運(yùn)行代碼單元出現(xiàn)異常時(shí),可以在新行中鍵入%debug運(yùn)行。這將打開一個(gè)交互式調(diào)試環(huán)境,它將您告訴你代碼發(fā)生異常的位置。你還可以檢查程序中分配的變量值,并在此處執(zhí)行操作。點(diǎn)擊q可退出調(diào)試器。

提高Python數(shù)據(jù)分析速度的技巧有哪些

5.輸出也可如此美觀

如果你想生成美觀的數(shù)據(jù)結(jié)構(gòu),pprint是選的模塊。它在輸出字典數(shù)據(jù)或JSON數(shù)據(jù)時(shí)特別有用。下面來看一下print 和pprint輸出的一個(gè)例子:

提高Python數(shù)據(jù)分析速度的技巧有哪些

6.讓提示更突出

可以在你的Jupyter Notebook中使用提示/注釋框來突出顯示任何重要的內(nèi)容。注釋的顏色取決于指定的提示類型。只需在代碼中加入需要突出顯示的內(nèi)容即可。

藍(lán)色提示框:注釋

代碼示例:

#提示框開頭
Tip: Use blue boxes (alert-info) for tips and notes. 
If it’s a note, you don’t have to include the word “Note”.#提示框內(nèi)容
#提示框結(jié)尾

輸出結(jié)果:

提高Python數(shù)據(jù)分析速度的技巧有哪些

黃色提示框:警告

代碼示例:


Example: Yellow Boxes are generally used to include additional examples or mathematical formulas.

輸出結(jié)果:

提高Python數(shù)據(jù)分析速度的技巧有哪些

綠色提示框:成功

代碼示例:


Use green box only when necessary like to display links to related content.

輸出結(jié)果:

提高Python數(shù)據(jù)分析速度的技巧有哪些

紅色提示框:高危

代碼示例:


It is good to avoid red boxes but can be used to alert users to not delete some important part of code etc. 

輸出結(jié)果:

提高Python數(shù)據(jù)分析速度的技巧有哪些

7.輸出一個(gè)執(zhí)行單元中的所有結(jié)果

下面來看一下Jupyter Notebook格中包含的幾行代碼:

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

通常一個(gè)執(zhí)行單元只輸出最后一行的結(jié)果,而對(duì)于其他輸出我們需要添加print()函數(shù)。好吧,事實(shí)證明我們可以通過在Jupyter Notebook開頭添加以下代碼來輸出每一行的結(jié)果:

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

現(xiàn)在所有結(jié)果可以被一一輸出:

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

如果要恢復(fù)成初始設(shè)定:

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,這會(huì)帶來更多好處。我們來看看是怎么回事:

首先,一旦程序結(jié)束,python不會(huì)退出編譯器。因此,我們可以檢查變量的值和程序中定義的函數(shù)的正確性。

其次,我們可以輕松地調(diào)用python調(diào)試器,因?yàn)槲覀內(nèi)匀辉诰幾g器中:

import pdb
pdb.pm()

這將把我們帶到代碼發(fā)生異常的位置,然后我們可以去處理代碼。

提高Python數(shù)據(jù)分析速度的技巧有哪些

9.自動(dòng)添加代碼注釋

Ctrl / Cmd + / 命令將自動(dòng)注釋執(zhí)行單元中的選定行。再次點(diǎn)擊組合將取消注釋相同的代碼行。

10.刪除容易恢復(fù)難

你有沒有不小心誤刪過Jupyter Notebook中的執(zhí)行單元呢?如果有,這里有一個(gè)可以撤消該刪除操作的快捷方式。

如果你誤刪了執(zhí)行單元的內(nèi)容,可以通過點(diǎn)擊CTRL/CMD+Z輕松恢復(fù)。

如果你想要恢復(fù)所刪除執(zhí)行單元的所有內(nèi)容,可以點(diǎn)擊ESC+Z 或者 EDIT > Undo Delete Cells

到此,關(guān)于“提高Python數(shù)據(jù)分析速度的技巧有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!


當(dāng)前題目:提高Python數(shù)據(jù)分析速度的技巧有哪些-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://weahome.cn/article/ddjsde.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部