airpassengers數據集-加速數據分析這12種高效Numpy和Pandas函數為_第1頁
airpassengers數據集-加速數據分析這12種高效Numpy和Pandas函數為_第2頁
airpassengers數據集-加速數據分析這12種高效Numpy和Pandas函數為_第3頁
airpassengers數據集-加速數據分析這12種高效Numpy和Pandas函數為_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

先從Numpy開始。Numpy是?于科學計算的Python語?擴展包,通常包含強?的N維數組對象、復雜函數、?于整合C/C++和Fortran代碼的?具以及有?的線性代數、傅?葉變換和隨機數?成能?。airpassengers數據集_加速數據分析,這12種?效Numpy和Pandas函數為。。。選?TowardsDataScience作者:KunalDhariwal機器之?編譯參與:Jamin、杜偉、張倩我們都知道,Numpy是Python環境下的擴展程序庫,?持?量的維度數組和矩陣運算;Pandas也是Python環境下的數據操作和分析軟件包,以及強?的數據分析庫。?者在?常的數據分析中都發揮著重要作?,如果沒有Numpy和Pandas的?持,數據分析將變得異常困難。但有時我們需要加快數據分析的速度,有什么辦法可以幫助到我們嗎?在本?中,數據和分析?程師KunalDhariwal為我們介紹了12種Numpy和Pandas函數,這些?效的函數會令數據分析更為容易、便捷。最后,讀者也可以在GitHub項?中找到本?所?代碼的JupyterNotebook.Numpy的6種?效函數除了上?這些明顯的?途,Numpy還可以?作通?數據的?效多維容器(container),定義任何數據類型。這使得Numpy能夠實現??與各種數據庫的?縫、快速集成。接下來??解析6種Numpy函數。argpartition()借助于argpartition(),Numpy可以找出N個最?數值的索引,也會將找到的這些索引輸出。然后我們根據需要對數值進?排序。x=np.array([12,10,12,0,6,8,9,1,16,4,6,0])index_val=np.argpartition(x,-4)[-4:]index_valarray([1,8,2,0],dtype=int64)np.sort(x[index_val])array([10,12,1allclose()allclose()?于匹配兩個數組,并得到布爾值表?的輸出。如果在?個公差范圍內(withinatolerance)兩個數組不等同,則allclose()返回False。該函數對于檢查兩個數組是否相似?常有?。array1=np.array([0.12,0.17,0.24,0.29])array2=np.array([0.13,0.19,0.26,0.31])#withatoleranceof0.1,itshouldreturnFalse:np.allclose(array1,array2,0clip()Clip()使得?個數組中的數值保持在?個區間內。有時,我們需要保證數值在上下限范圍內。為此,我們可以借助Numpy的clip()函數實現該?的。給定?個區間,則區間外的數值被剪切?區間上下限(intervaledge)。x=np.array([3,17,14,23,2,2,6,8,1,2,16,0])np.clip(x,2,5)array([3,5,5,5,2,2,5,5,2,2,5,2])extract()顧名思義,extract()是在特定條件下從?個數組中提取特定元素。借助于extract(),我們還可以使?and和or等條件。#Randomintegersarray=np.random.randint(20,size=12)arrayarray([0,1,8,19,16,18,10,11,2,13,14,3])#Divideby2andcheckifremainderis1where()Where()?于從?個數組中返回滿?特定條件的元素。?如,它會返回滿?特定條件的數值的索引位置。Where()與SQL中使?的wherecondition類似,如以下?例所?:y=np.array([1,5,6,8,1,7,3,6,9])#Whereyisgreaterthan5,returnsindexpositionnp.where(y>5)array([2,3,5,7,8],dtype=int64),)#Firstwillreplacethevapercentile()Percentile()?于計算特定軸?向上數組元素的第n個百分位數。a=np.array([1,5,6,8,1,7,3,6,9])print("50thPercentileofa,axis=0:",np.percentile(a,50,axis=0))50thPercentileofa,axis=0:6.0b=np.array([[10這就是Numpy擴展包的6種?效函數,相信會為你帶來幫助。接下來看?看Pandas數據分析庫的6種函數。Pandas數據統計包的6種?效函數Pandas也是?個Python包,它提供了快速、靈活以及具有顯著表達能?的數據結構,旨在使處理結構化(表格化、多維、異構)和時間序列數據變得既簡單?直觀。Pandas適?于以下各類數據:具有異構類型列的表格數據,如SQL表或Excel表;有序和?序(不?定是固定頻率)的時間序列數據;帶有?/列標簽的任意矩陣數據(同構類型或者是異構類型);其他任意形式的統計數據集。事實上,數據根本不需要標記就可以放?Pandas結構中。Pandas擅長處理的類型如下所?:容易處理浮點數據和?浮點數據中的缺失數據(?NaN表?);??可調整性:可以從DataFrame或者更?維度的對象中插?或者是刪除列;顯式數據可?動對齊:對象可以顯式地對齊??組標簽內,或者?戶可以簡單地選擇忽略標簽,使Series、DataFrame等?動對齊數據;靈活的分組功能,對數據集執?拆分-應?-合并等操作,對數據進?聚合和轉換;簡化將數據轉換為DataFrame對象的過程,?這些數據基本是Python和NumPy數據結構中不規則、不同索引的數據;基于標簽的智能切?、索引以及?向?型數據集的?設定;更加直觀地合并以及連接數據集;更加靈活地重塑、轉置(pivot)數據集;軸的分級標記(可能包含多個標記);具有魯棒性的IO?具,?于從平??件(CSV和delimited)、Excel?件、數據庫中加在數據,以及從HDF5格式中保存/加載數據;時間序列的特定功能:數據范圍的?成以及頻率轉換、移動窗?統計、數據移動和滯后等。read_csv(nrows=n)?多數?都會犯的?個錯誤是,在不需要.csv?件的情況下仍會完整地讀取它。如果?個未知的.csv?件有10GB,那么讀取整個.csv?件將會?常不明智,不僅要占??量內存,還會花很多時間。我們需要做的只是從.csv?件中導???,之后根據需要繼續導?。importioimportrequests#Iamusingthisonlinedatasetjusttomakethingseasierforyouguysurl="/vincentarelbundock/Rdatasetsmap()map()函數根據相應的輸?來映射Series的值。?于將?個Series中的每個值替為換另?個值,該值可能來??個函數、也可能來?于?個dict或Series。#createadataframedframe=pd.DataFrame(np.random.randn(4,3),columns=list('bde'),index=['India','USA','China','Russia'])#computeaformattedstrapply()apply()允許?戶傳遞函數,并將其應?于Pandas序列中的每個值。#maxminusmixlambdafnfn=lambdax:x.max()-x.min()#Applythisondframethatwe'vejustcreatedabovedframe.apply(fn)isin()lsin()?于過濾數據幀。Isin()有助于選擇特定列中具有特定(或多個)值的?。#Usingthedataframewecreatedforread_csvfilter1=df["value"].isin([112])filter2=df["time"].isin([1949.000000])df[filter1&filter2]copy()Copy()函數?于復制Pandas對象。當?個數據幀分配給另?個數據幀時,如果對其中?個數據幀進?更改,另?個數據幀的值也將發?更改。為了防?這類問題,可以使?copy()函數。#creatingsampleseriesdata=pd.Series(['India','Pakistan','China','Mongolia'])#Assigningissuethatwefacedata1=data#Changeavaluedata1[0]='USAselect_dtypes()select_dtypes()的作?是,基于dtypes的列返回數據幀列的?個?集。這個函數的參數可設置為包含所有擁有特定數據類型的列,亦或者設置為排除具有特定數據類型的列。#We'llusethesamedataframethatweusedforread_csvframex=df.select_dtypes(include="float64")#Returnsonlytimecolumn最后,pivot_tabl

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論