欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

DataFrame.groupby()所見的各種用法詳解

 更新時(shí)間:2020年06月14日 16:43:29   作者:黃大俠aa  
這篇文章主要介紹了DataFrame.groupby()所見的各種用法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

groupby的函數(shù)定義:

DataFrame.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False, **kwargs)

  • by :接收映射、函數(shù)、標(biāo)簽或標(biāo)簽列表;用于確定聚合的組。
  • axis : 接收 0/1;用于表示沿行(0)或列(1)分割。
  • level : 接收int、級(jí)別名稱或序列,默認(rèn)為None;如果軸是一個(gè)多索引(層次化),則按一個(gè)或多個(gè)特定級(jí)別分組。
  • as_index:接收布爾值,默認(rèn)Ture;Ture則返回以組標(biāo)簽為索引的對(duì)象,F(xiàn)alse則不以組標(biāo)簽為索引。

其他的參數(shù)解釋就看文檔吧:鏈接:pandas.DataFrame.groupby 介紹文檔

所見 1 :日常用法

import pandas as pd

df = pd.DataFrame({'Gender' : ['男', '女', '男', '男', '男', '男', '女', '女', '女'],
          'name' : ['周杰倫', '蔡依林', '林俊杰', '周杰倫', '林俊杰', '周杰倫', '田馥甄', '蔡依林', '田馥甄'],
          'income' : [4.5, 2.9, 3.8, 3.7, 4.0, 4.1, 1.9, 4.1, 3.2],
         'expenditure' : [1.5, 1.9, 2.8, 1.7, 4.1, 2.5, 1.1, 3.4, 1.2]
         })
#根據(jù)其中一列分組
df_expenditure_mean = df.groupby(['Gender']).mean()

#根據(jù)其中兩列分組
df_expenditure_mean = df.groupby(['Gender', 'name']).mean()

#只對(duì)其中一列求均值
df_expenditure_mean = df.groupby(['Gender', 'name'])['income'].mean()

輸出示例:

 所見 2 :解決groupby.sum() 后層級(jí)索引levels上移的問題

上圖中的輸出二,雖然是 DataFrame 的格式,但是若需要與其他表匹配的時(shí)候,這個(gè)格式就有些麻煩了。匹配數(shù)據(jù)時(shí),我們需要的數(shù)據(jù)格式是:列名都在第一行,數(shù)據(jù)行中也不能有 Gender 列這樣的合并單元格。因此,我們需要做一些調(diào)整,將 as_index 改為 False ,默認(rèn)是 Ture 。

#不以組標(biāo)簽為索引,通過 as_index 來實(shí)現(xiàn)
df_expenditure_mean = df.groupby(['Gender', 'name'], as_index=False).mean()


輸出:

所見 3 :解決groupby.apply() 后層級(jí)索引levels上移的問題

在所見 2 中我們知道,使用參數(shù) as_index 就可使 groupby 的結(jié)果不以組標(biāo)簽為索引,但是后來在使用 groupby.apply() 時(shí)發(fā)現(xiàn),as_index 參數(shù)失去了效果。如下例所示:

# 使用了 as_index=False,但是從輸出結(jié)果中可見沒起到作用
df_apply = df.groupby(['Gender', 'name'], as_index=False).apply(lambda x: sum(x['income']-x['expenditure'])/sum(x['income']))
df_apply = pd.DataFrame(df_apply,columns=['存錢占比'])#轉(zhuǎn)化成dataframe格式

輸出:

解決辦法: 加一句df_apply_index = df_apply.reset_index()

# 加一句df_apply_index = df_apply.reset_index()
df_apply = df.groupby(['Gender', 'name'], as_index=False).apply(lambda x: sum(x['income']-x['expenditure'])/sum(x['income']))
df_apply = pd.DataFrame(df_apply,columns=['存錢占比'])#轉(zhuǎn)化成dataframe格式
df_apply_index = df_apply.reset_index()

輸出:

所見 4 :groupby函數(shù)的分組結(jié)果保存成DataFrame

所見 1 中的輸出三,明顯是  Series ,我們需要將其轉(zhuǎn)化為 DataFrame 格式的數(shù)據(jù)。

#只對(duì)其中一列求均值,并轉(zhuǎn)化為 DataFrame
df_expenditure_mean = df.groupby(['Gender', 'name'], as_index=False)['income'].mean()
df_expenditure_mean = pd.DataFrame(df_expenditure_mean)#轉(zhuǎn)化成dataframe格式
df_expenditure_mean.rename(columns={'income':'收入均值'}, inplace = True)

輸出:

到此這篇關(guān)于 DataFrame.groupby() 所見的各種用法詳解的文章就介紹到這了,更多相關(guān) DataFrame.groupby()用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 對(duì)于Python裝飾器使用的一些建議

    對(duì)于Python裝飾器使用的一些建議

    這篇文章主要介紹了對(duì)于Python裝飾器使用的一些建議,裝飾器是Python學(xué)習(xí)進(jìn)階中的重要知識(shí),需要的朋友可以參考下
    2015-06-06
  • Python3列表內(nèi)置方法大全及示例代碼小結(jié)

    Python3列表內(nèi)置方法大全及示例代碼小結(jié)

    這篇文章主要介紹了Python3列表內(nèi)置方法大全及示例代碼小結(jié),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-05-05
  • 通過代碼實(shí)例了解Python異常本質(zhì)

    通過代碼實(shí)例了解Python異常本質(zhì)

    這篇文章主要介紹了通過代碼實(shí)例了解Python1異常本質(zhì),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • python操作Excel神器openpyxl看這一篇就夠了

    python操作Excel神器openpyxl看這一篇就夠了

    Python使用openpyxl讀寫excel文件這是一個(gè)第三方庫(kù),可以處理xlsx格式的Excel文件,下面這篇文章主要給大家介紹了關(guān)于python操作Excel神器openpyxl的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • Python語言中的數(shù)據(jù)類型-序列

    Python語言中的數(shù)據(jù)類型-序列

    這篇文章主要介紹了Python語言中的數(shù)據(jù)類型-序列,前面我們提到了Python數(shù)據(jù)類型中的內(nèi)置數(shù)值類型與字符串類型。今天學(xué)習(xí)一下Python的序列數(shù)據(jù)類型,要知道的是在Python中沒有數(shù)組這一數(shù)據(jù)結(jié)構(gòu),需要的朋友可以參考一下
    2022-02-02
  • Python3+PyInstall+Sciter解決報(bào)錯(cuò)缺少dll、html等文件問題

    Python3+PyInstall+Sciter解決報(bào)錯(cuò)缺少dll、html等文件問題

    這篇文章主要介紹了Python3+PyInstall+Sciter解決報(bào)錯(cuò)缺少dll、html等文件問題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 使用Mac時(shí)psycopg2導(dǎo)入PyCharm失敗的解決

    使用Mac時(shí)psycopg2導(dǎo)入PyCharm失敗的解決

    這篇文章主要介紹了使用Mac時(shí)psycopg2導(dǎo)入PyCharm失敗的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • python自動(dòng)化測(cè)試之破解滑動(dòng)驗(yàn)證碼

    python自動(dòng)化測(cè)試之破解滑動(dòng)驗(yàn)證碼

    這篇文章介紹了python自動(dòng)化破解之破解滑動(dòng)驗(yàn)證碼的解決方案,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • python3 cmp實(shí)現(xiàn)方式

    python3 cmp實(shí)現(xiàn)方式

    這篇文章主要介紹了python3 cmp實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • python 進(jìn)階學(xué)習(xí)之python裝飾器小結(jié)

    python 進(jìn)階學(xué)習(xí)之python裝飾器小結(jié)

    這篇文章主要介紹了python 進(jìn)階學(xué)習(xí)之python裝飾器小結(jié),本文通過場(chǎng)景分析給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09

最新評(píng)論