Python 更快進(jìn)行探索性數(shù)據(jù)分析的四個(gè)方法_第1頁
Python 更快進(jìn)行探索性數(shù)據(jù)分析的四個(gè)方法_第2頁
Python 更快進(jìn)行探索性數(shù)據(jù)分析的四個(gè)方法_第3頁
Python 更快進(jìn)行探索性數(shù)據(jù)分析的四個(gè)方法_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第Python更快進(jìn)行探索性數(shù)據(jù)分析的四個(gè)方法大家好,常用探索性數(shù)據(jù)分析方法很多,比如常用的PandasDataFrame方法有.head()、.tail()、.info()、.describe()、.plot()和.value_counts()。

importpandasaspd

importnumpyasnp

df=pd.DataFrame({

Student:[Mike,Jack,Diana,Charles,Philipp,Charles,Kale,Jack],

City:[London,London,Berlin,London,London,Berlin,London,Berlin],

Age:[20,40,18,24,37,40,44,20],

Maths_Score:[84,80,50,36,44,24,41,35],

Science_Score:[66,83,51,35,43,58,71,65]})

在Pandas中創(chuàng)建groupby()對象

在許多情況下,我們希望將數(shù)據(jù)集拆分為多個(gè)組并對這些組進(jìn)行處理。Pandas方法groupby()用于將DataFrame中的數(shù)據(jù)分組。

與其一起使用groupby()和聚合方法,不如創(chuàng)建一個(gè)groupby()對象。理想的情況是,我們可以在需要時(shí)直接使用此對象。

讓我們根據(jù)列City將給定的DataFrame分組

df_city_group=df.groupby(City)

我們創(chuàng)建一個(gè)對象df_city_group,該對象可以與不同的聚合相結(jié)合,例如min()、max()、mean()、describe()和count()。一個(gè)例子如下所示。

要獲取City是Berlin的DataFrame子集,只需使用方法.get_group()

這不需要為每個(gè)組創(chuàng)建每個(gè)子DataFrame的副本,比較節(jié)省內(nèi)存。

另外,使用.groupby()進(jìn)行切片比常規(guī)方法快2倍!!

使用.nlargest()

通常,我們根據(jù)特定列的值了解DataFrame的Top3或Top5數(shù)據(jù)。例如,從考試中獲得前3名得分者或從數(shù)據(jù)集中獲得前5名觀看次數(shù)最多的電影。使用Pandas.nlargest()是最簡單的方式。

df.nlargest(N,column_name,keep=first)

使用.nlargest()方法,可以檢索包含指定列的TopN值的DataFrame行。

在上面的示例中,讓我們獲取前3個(gè)Maths_Score的DataFrame的行。

如果兩個(gè)值之間存在聯(lián)系,則可以修改附加參數(shù)和可選參數(shù)。它需要值first、last和all來檢索領(lǐng)帶中的第一個(gè)、最后一個(gè)和所有值。這種方法的優(yōu)點(diǎn)是,你不需要專門對DataFrame進(jìn)行排序。

使用.nsmallest()

與Top3或5類似,有時(shí)我們也需要DataFrame中的Last5條記錄。例如,獲得評分最低的5部電影或考試中得分最低的5名學(xué)生。使用Pandas.nsmallest()是最簡單的方式

df.nsmallestst(N,column_name,keep=first)

使用.nsmallest()方法,可以檢索包含指定列的底部N個(gè)值的DataFrame行。

在同一個(gè)示例中,讓我們獲取DataFramedf中Maths_Score最低的3行。

比較運(yùn)算符、、=、=、==、!=及其包裝器.lt()、.gt()、.le()、.ge()、.eq()和.ne()分別在以下情況下非常方便將DataFrame與基值進(jìn)行比較,這種比較會(huì)產(chǎn)生一系列布爾值,這些值可用作以后的指標(biāo)。

基于比較對DataFrame進(jìn)行切片

可以基于與值的比較從DataFrame中提取子集。

根據(jù)兩列的比較在現(xiàn)有DataFrame中創(chuàng)建一個(gè)新列。

所有這些場景都在下面的示例中進(jìn)行了解釋

#1.ComparingtheDataFrametoabasevalue

#Selectingthecolumnswithnumericalvaluesonly

df.iloc[:,2:5].gt(50)

df.iloc[:,2:5].lt(50)

#2.SlicingtheDataFramebasedoncomparison

#df1issubsetofdfwhenvaluesinMat

溫馨提示

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

最新文檔

評論

0/150

提交評論