免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
最強(qiáng)大的數(shù)據(jù)分析利器pandas||數(shù)據(jù)分析之?dāng)?shù)據(jù)分組

數(shù)據(jù)分組重要性

在現(xiàn)實(shí)世界的數(shù)據(jù)分析中,我們經(jīng)常需要根據(jù)某些特征將數(shù)據(jù)進(jìn)行分組,然后對每個(gè)組進(jìn)行聚合分析。比如,我們可能想要按照地區(qū)、時(shí)間、類別等因素對銷售數(shù)據(jù)進(jìn)行分組,然后計(jì)算每組的平均值、總和等指標(biāo)。這就是數(shù)據(jù)分組的重要性所在。

數(shù)據(jù)分組案例

我們數(shù)據(jù)分組使用的是pandas.groupby()方法

其基本語法如下

 df.groupby(
  by:用于分組的變量/函數(shù),
  level=None 相應(yīng)的軸存在多重索引時(shí),指定用于分組的級別,
  as_index=True:結(jié)果是否按照關(guān)鍵字進(jìn)行排序
  sort = True 結(jié)果是否按照分組關(guān)鍵字排序
 
 )

我們先來看一個(gè)簡單的例子。

我們導(dǎo)入我們的學(xué)生成績數(shù)據(jù),然后查看數(shù)據(jù)

 import pandas as pd
 
 df = pd.read_excel('./pandas_data/stu_data.xlsx')
 df.head()

接下來我們根據(jù)課程列進(jìn)行分組,查看分組后數(shù)據(jù)類型

 dfg = df.groupby('課程')
 type(dfg)

分組對象的數(shù)據(jù)類型是pandas.core.groupby.generic.DataFrameGroupBy

那么我們可以通過分組對象的groups方法查看分組里數(shù)據(jù)

 dfg.groups

它會返回一個(gè)類字典視圖對象

鍵是分組類別,值是分組的具體值。

我們還可以查看分組的描述。使用descrbe方法

 dfg.describe()

這是我們的單列分組,此外我們還可以根據(jù)多列分組,只需要把分組變量以列表形式傳遞到by參數(shù)即可。我們在來看個(gè)例子

 dfgg = df.groupby(['性別','課程'])
 dfgg.groups

基于拆分進(jìn)行篩選

我們還可以拿出分組后的一組數(shù)據(jù)進(jìn)行操作,我們使用的方法是dfgroup.get_group()

我們來看個(gè)例子

我們使用dfg.get_group(“概率統(tǒng)計(jì)”)就可以獲取到所有學(xué)概率統(tǒng)計(jì)課程的學(xué)生,我們也可以針對某一組數(shù)據(jù)進(jìn)行描述。

分組匯總

我們使用group分組后的數(shù)據(jù)可以按照需求進(jìn)行匯總。匯總我們使用的函數(shù)是df.aggregete()可以簡寫成agg,可以用axis指定匯總維度。也可以直接使用匯總函數(shù)。

匯總函數(shù)如下:

接下來我們看一個(gè)示例:

我們對分組后數(shù)據(jù)的最大值進(jìn)行匯總。

我們還可以對分組后的某列進(jìn)行匯總

如果我們有其他需求,我們也可以自定義匯總函數(shù)或者傳遞numpy函數(shù)。

數(shù)據(jù)透視表

Pandas還支持創(chuàng)建數(shù)據(jù)透視表,它可以幫助我們更直觀地展示分組后的數(shù)據(jù)。我們構(gòu)建數(shù)據(jù)透視表使用pivot_table其語法如下:

 pd.pivot_table(
  df,
    values=None,
    index=None,
    columns=None,
    aggfunc='mean',
    fill_value=None,
    margins=False,
    dropna=True,
    margins_name='All',
    observed=False,
    sort=True,
 ) -> 'DataFrame'

讓我們看一個(gè)例子:

 import pandas as pd
 
 # 創(chuàng)建一個(gè)示例DataFrame
 data = {'Category': ['A', 'B', 'A', 'B', 'A', 'B'],
         'Value': [10, 20, 15, 25, 30, 35]}
 df = pd.DataFrame(data)
 print(df)
 grouped = df.groupby('Category')
 # 創(chuàng)建數(shù)據(jù)透視表,以Category為行,以Value為列,計(jì)算平均值
 pivot_table =pd.pivot_table(df, index='Category', values='Value', aggfunc='max')
 print(pivot_table)

數(shù)據(jù)過濾和轉(zhuǎn)化

在數(shù)據(jù)分組過程中,我們還可以進(jìn)行過濾和轉(zhuǎn)換操作。比如,我們可以過濾掉某些分組,或者對每個(gè)分組的數(shù)據(jù)進(jìn)行轉(zhuǎn)換。下面是一個(gè)示例:

 # 過濾出總和大于30的分組
 filtered_groups = grouped.filter(lambda x: x['Value'].sum() > 30)
 print(filtered_groups)
 
 # 對每個(gè)分組的數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化
 transformed = grouped.transform(lambda x: (x - x.mean()) / x.std())
 print(transformed)
 

以上代碼展示了如何通過filter函數(shù)過濾出總和大于30的分組,以及如何使用transform函數(shù)對每個(gè)分組的數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理。

Pandas的數(shù)據(jù)分組功能為數(shù)據(jù)分析提供了強(qiáng)大的支持。無論是簡單的聚合操作還是復(fù)雜的多列分組,Pandas都能輕松勝任。通過本文的介紹,希望大家能夠更好地理解和運(yùn)用Pandas中的數(shù)據(jù)分組技巧,從而更加高效地進(jìn)行數(shù)據(jù)分析工作。記得多多練習(xí),掌握這些技能,讓數(shù)據(jù)在你手中展現(xiàn)出更多的價(jià)值!????

就在這里,我們對Pandas中數(shù)據(jù)分組的探索就告一段落了。希望這篇推文能夠幫助到你,謝謝大家的閱讀!如果你有任何問題或者想要了解更多,請隨時(shí)留言。一起加油,成為數(shù)據(jù)分析的高手吧!????

[附帶清晰的代碼示例和實(shí)用技巧,這篇推文希望能夠幫助讀者更好地理解如何在Pandas中進(jìn)行數(shù)據(jù)分組,從而為數(shù)據(jù)分析提供更有力的支持。通過實(shí)際代碼示例,讀者可以更加直觀地掌握這一重要技能,為實(shí)際工作中的數(shù)據(jù)處理和分析提供幫助。]

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
pandas騷操作:transform 數(shù)據(jù)轉(zhuǎn)換的 4 個(gè)常用技巧!
pandas基礎(chǔ):使用Python pandas Groupby函數(shù)匯總數(shù)據(jù),獲得對數(shù)據(jù)更好地理解
一行Python代碼實(shí)現(xiàn)交叉表數(shù)據(jù)分析
用Python做數(shù)據(jù)分析,這些基本數(shù)據(jù)分析技術(shù)你知道嗎?贈學(xué)習(xí)資料
零基礎(chǔ)入門到精通:Python大數(shù)據(jù)與機(jī)器學(xué)習(xí)之Pandas數(shù)據(jù)分組
Pandas groupby分組操作詳解
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服