乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

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

       白河baihe 2023-08-29 發(fā)布于浙江

      圖片

      圖片

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

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

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

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

      其基本語(yǔ)法如下

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

      我們先來(lái)看一個(gè)簡(jiǎn)單的例子。

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

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

      圖片

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

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

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

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

       dfg.groups

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

      圖片

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

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

       dfg.describe()

      圖片

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

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

      圖片

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

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

      我們來(lái)看個(gè)例子

      圖片

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

      圖片

      分組匯總

      圖片

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

      匯總函數(shù)如下:

      圖片

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

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

      圖片

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

      圖片

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

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

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

       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ù)過(guò)濾和轉(zhuǎn)化

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

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

      圖片

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

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

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

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

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多