色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

數據處理中pandas的groupby小技巧

數據分析與開發 ? 來源:Python數據科學 ? 作者:東哥起飛 ? 2021-04-09 11:34 ? 次閱讀

pandas的groupby是數據處理中一個非常強大的功能。雖然很多同學已已經非常熟悉了,但有些小技巧還是要和大家普及一下的。為了給大家演示,我們采用一個公開的數據集進行說明。

import pandas as pd

iris = pd.read_csv

隨機采樣5條,數據是長這樣子的。

》》》 iris.sample(5)

sepal_length sepal_width petal_length petal_width species

95 5.7 3.0 4.2 1.2 versicolor

71 6.1 2.8 4.0 1.3 versicolor

133 6.3 2.8 5.1 1.5 virginica

4 5.0 3.6 1.4 0.2 setosa

33 5.5 4.2 1.4 0.2 setosa

因為是分組功能,所以被分的對象肯定是類別型的。在這個數據里,這里我們就以species進行分組舉例。

首先,以species分組創建一個groupby的object。這里單獨生成groupby對象是因為后面會反復用到,其實用的熟練了直接鏈接起來就可以了。

iris_gb = iris.groupby(‘species’)

一、創建頻率表假如我想知道每個species類中的數量有多少,那么直接使用groupby的size函數即可,如下。

》》》 iris_gb.size()

species

setosa 50

versicolor 50

virginica 50

dtype: int64

二、計算常用的描述統計量比如,我想要按組計算均值,那么就用mean()函數。

》》》 # 計算均值

》》》 iris_gb.mean()

sepal_length sepal_width petal_length petal_width

species

setosa 5.006 3.428 1.462 0.246

versicolor 5.936 2.770 4.260 1.326

virginica 6.588 2.974 5.552 2.026

默認情況下如果沒有限制,那么mean()函數將對所有變量特征計算均值。如果我希望只計算某一個變量的均值,可以指定該變量,如下所示。

》》》 # 單列

》》》 iris_gb[‘sepal_length’].mean()

species

setosa 5.006

versicolor 5.936

virginica 6.588

Name: sepal_length, dtype: float64

》》》 # 雙列

》》》 iris_gb[[‘sepal_length’, ‘petal_length’]].mean()

sepal_length petal_length

species

setosa 5.006 1.462

versicolor 5.936 4.260

virginica 6.588 5.552

同理,其它描述性統計量min、max()、medianhe和std都是一樣的用法。

三、查找最大值(最小值)索引如果我們要查找每個組的最大值或最小值的索引時,有一個方便的功能可以直接使用。

》》》 iris_gb.idxmax()

sepal_length sepal_width petal_length petal_width

species

setosa 14 15 24 43

versicolor 50 85 83 70

virginica 131 117 118 100

如何應用呢?

比如我們想查找每組sepal_length最大值對應的整條記錄時,就可以這樣用。注意,這里是整條記錄,相當于按sepal_length最大值這個條件進行了篩選。

》》》 sepal_largest = iris.loc[iris_gb[‘sepal_length’].idxmax()]

》》》 sepal_largest

sepal_length sepal_width petal_length petal_width species

14 5.8 4.0 1.2 0.2 setosa

50 7.0 3.2 4.7 1.4 versicolor

131 7.9 3.8 6.4 2.0 virginica

四、Groupby之后重置索引很多時候,我們在groupby處理后還要進行其他操作。也就是說,我們想重置分組索引以使其成為正常的行和列。

第一種方法可能大家常用,就是通過reset_index()讓亂序索引重置。

》》》 iris_gb.max().reset_index()

species sepal_length sepal_width petal_length petal_width

0 setosa 5.8 4.4 1.9 0.6

1 versicolor 7.0 3.4 5.1 1.8

2 virginica 7.9 3.8 6.9 2.5

但其實,還有一個看上去更加友好的用法。可以在groupby的時候就設置as_index參數,也可以達到同樣效果。

》》》 iris.groupby(‘species’, as_index=False).max()

species sepal_length sepal_width petal_length petal_width

0 setosa 5.8 4.4 1.9 0.6

1 versicolor 7.0 3.4 5.1 1.8

2 virginica 7.9 3.8 6.9 2.5

五、多種統計量匯總上面都是單個統計量的操作,那如果我想同時操作好幾個呢?

groupby還有一個超級棒的用法就是和聚合函數agg連起來使用。

》》》 iris_gb[[‘sepal_length’, ‘petal_length’]].agg([“min”, “mean”])

sepal_length petal_length

min mean min mean

species

setosa 4.3 5.006 1.0 1.462

versicolor 4.9 5.936 3.0 4.260

virginica 4.9 6.588 4.5 5.552

在agg里面,我們只要列出統計量的名稱即可,便可同時對每個列進行多維度統計。

六、特定列的聚合我們也看到了,上面是的多個操作對于每個列都是一樣的。實際使用過程中,我們可能對于每個列的需求都是不一樣的。

所以在這種情況下,我們可以通過為不同的列單獨設置不同的統計量。

》》》 iris_gb.agg({“sepal_length”: [“min”, “max”], “petal_length”: [“mean”, “std”]})

sepal_length petal_length

min max mean std

species

setosa 4.3 5.8 1.462 0.173664

versicolor 4.9 7.0 4.260 0.469911

virginica 4.9 7.9 5.552 0.551895

7、NamedAgg命名統計量現在我又有新的想法了。上面的多級索引看起來有點不太友好,我想把每個列下面的統計量和列名分別合并起來。可以使用NamedAgg來完成列的命名。

》》》 iris_gb.agg(

。。. sepal_min=pd.NamedAgg(column=“sepal_length”, aggfunc=“min”),

。。. sepal_max=pd.NamedAgg(column=“sepal_length”, aggfunc=“max”),

。。. petal_mean=pd.NamedAgg(column=“petal_length”, aggfunc=“mean”),

。。. petal_std=pd.NamedAgg(column=“petal_length”, aggfunc=“std”)

。。. )

sepal_min sepal_max petal_mean petal_std

species

setosa 4.3 5.8 1.462 0.173664

versicolor 4.9 7.0 4.260 0.469911

virginica 4.9 7.9 5.552 0.551895

因為NamedAgg是一個元組,所以我們也可以直接賦值元組給新的命名,效果一樣,但看上去更簡潔。

iris_gb.agg(

sepal_min=(“sepal_length”, “min”),

sepal_max=(“sepal_length”, “max”),

petal_mean=(“petal_length”, “mean”),

petal_std=(“petal_length”, “std”)

八、使用自定義函數上面agg聚合函數中我們都是通過添加一個統計量名稱來完成操作的,除此之外我們也可直接給一個功能對象。

》》》 iris_gb.agg(pd.Series.mean)

sepal_length sepal_width petal_length petal_width

species

setosa 5.006 3.428 1.462 0.246

versicolor 5.936 2.770 4.260 1.326

virginica 6.588 2.974 5.552 2.026

不僅如此,名稱和功能對象也可一起使用。

iris_gb.agg([“min”, pd.Series.mean])

更騷的是,我們還可以自定義函數,也都是可以的。

》》》 def double_length(x):

。。. return 2*x.mean()

。。.

》》》 iris_gb.agg(double_length)

sepal_length sepal_width petal_length petal_width

species

setosa 10.012 6.856 2.924 0.492

versicolor 11.872 5.540 8.520 2.652

virginica 13.176 5.948 11.104 4.052

當然如果想更簡潔,也可以使用lambda函數。總之,用法非常靈活,可以自由組合搭配。

iris_gb.agg(lambda x: x.mean())

以上就是使用groupby過程中可能會用到的8個操作,如果你熟練使用起來會發現這個功能是真的很強大。

原文標題:Pandas 100 個騷操作:groupby 8 個常用技巧!

文章出處:【微信公眾號:數據分析與開發】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 函數
    +關注

    關注

    3

    文章

    4345

    瀏覽量

    62882
  • 數據處理
    +關注

    關注

    0

    文章

    613

    瀏覽量

    28605

原文標題:Pandas 100 個騷操作:groupby 8 個常用技巧!

文章出處:【微信號:DBDevs,微信公眾號:數據分析與開發】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    康謀分享 | 如何應對ADAS/AD海量數據處理挑戰?

    如何有效處理ADAS/AD海量數據并從中獲得見解?IVEX數據處理流程可自動從原始傳感器數據等輸入識別出值得關注的事件和場景,推動
    的頭像 發表于 12-25 10:05 ?3523次閱讀
    康謀分享 | 如何應對ADAS/AD海量<b class='flag-5'>數據處理</b>挑戰?

    緩存對大數據處理的影響分析

    緩存對大數據處理的影響顯著且重要,主要體現在以下幾個方面: 一、提高數據訪問速度 在大數據環境數據存儲通常采用分布式存儲系統,
    的頭像 發表于 12-18 09:45 ?225次閱讀

    cmp在數據處理的應用 如何優化cmp性能

    CMP在數據處理的應用 CMP(并行處理)技術在數據處理領域扮演著越來越重要的角色。隨著數據量的爆炸性增長,傳統的串行
    的頭像 發表于 12-17 09:27 ?375次閱讀

    pds在數據處理的應用 pds支持的文件格式有哪些

    PDS在數據處理中有廣泛的應用,同時它也支持多種文件格式。以下是對這兩個方面的介紹: PDS在數據處理的應用 電力系統自動化數據交換 : PDS(Power Dispatch Sys
    的頭像 發表于 12-05 10:43 ?383次閱讀

    上位機實時數據處理技術 上位機在智能制造的應用

    。這種技術對于工業自動化、智能制造等領域至關重要。 在上位機實時數據處理,關鍵技術包括數據采集、數據處理數據可視化、
    的頭像 發表于 12-04 10:29 ?680次閱讀

    eda中常用的數據處理方法

    探索性數據分析(EDA)是一種統計方法,用于使用統計圖表、圖形和計算來發現數據的模式、趨勢和異常值。在進行EDA時,數據處理是至關重要的,因為它可以幫助我們更好地理解
    的頭像 發表于 11-13 10:57 ?398次閱讀

    海量數據處理需要多少RAM內存

    處理海量數據時,內存的大小直接影響到數據的讀寫速度和整體處理能力。更多的內存意味著可以將更多的數據緩存到內存
    的頭像 發表于 11-11 09:56 ?435次閱讀

    FPGA在數據處理的應用實例

    FPGA(現場可編程門陣列)在數據處理領域有著廣泛的應用,其高度的靈活性和并行處理能力使其成為許多高性能數據處理系統的核心組件。以下是一些FPGA在數據處理
    的頭像 發表于 10-25 09:21 ?516次閱讀

    實時數據處理的邊緣計算應用

    實時數據處理的邊緣計算應用廣泛,涵蓋了多個行業和領域。以下是一些典型的應用場景: 一、工業制造 在工業制造領域,邊緣計算技術被廣泛應用于生產線上的設備監控、數據處理和實時控制。通過在生產線上安裝
    的頭像 發表于 10-24 14:11 ?466次閱讀

    康謀分享 | ADTF過濾器全面解析:構建、配置與數據處理應用

    在ADTF(AutomotiveDataandTime-TriggeredFramework),過濾器(Filter)扮演著數據處理的核心角色。過濾器是處理數據流的基本單元,它們接收
    的頭像 發表于 09-18 09:42 ?2602次閱讀
    康謀分享 | ADTF過濾器全面解析:構建、配置與<b class='flag-5'>數據處理</b>應用

    邊緣計算物聯網關如何優化數據處理流程

    在物聯網技術日新月異的今天,數據的產生、傳輸與處理已成為推動行業智能化轉型的關鍵。邊緣計算物聯網關,作為這一生態系統的核心組件,正以其獨特的優勢,在數據處理效率、實時性、安全性及成本
    的頭像 發表于 07-30 17:27 ?471次閱讀
    邊緣計算物聯網關如何優化<b class='flag-5'>數據處理</b>流程

    巖土工程監測振弦采集儀數據處理與解讀的挑戰與方法

    巖土工程監測振弦采集儀數據處理與解讀的挑戰與方法 巖土工程監測是確保工程安全的重要環節,而振弦采集儀是巖土工程監測中常用的一種設備。振弦采集儀通過測量土體的振動響應,可以獲取土體的力學性質和結構
    的頭像 發表于 06-03 13:59 ?333次閱讀
    巖土工程監測<b class='flag-5'>中</b>振弦采集儀<b class='flag-5'>數據處理</b>與解讀的挑戰與方法

    振弦采集儀在巖土工程監測數據處理與結果展示

    振弦采集儀在巖土工程監測數據處理與結果展示 河北穩控科技振弦采集儀是巖土工程監測中常用的一種設備,用于采集地下土體振動信號,通過對數據處理與結果的展示,可以有效地評估土體的動力特
    的頭像 發表于 05-14 16:41 ?314次閱讀
    振弦采集儀在巖土工程監測<b class='flag-5'>中</b>的<b class='flag-5'>數據處理</b>與結果展示

    工程監測振弦采集儀在振動監測的應用與數據處理技術

    工程監測振弦采集儀在振動監測的應用與數據處理技術 振弦采集儀是一種用于振動監測和分析的儀器設備。它采用振弦傳感器作為振動信號的采集元件,可以實時測量結構物或設備的振動狀態,并將采集到的振動數據進行
    的頭像 發表于 04-07 13:59 ?584次閱讀
    工程監測振弦采集儀在振動監測<b class='flag-5'>中</b>的應用與<b class='flag-5'>數據處理</b>技術

    巖土工程監測振弦采集儀的操作方法及數據處理技術

    巖土工程監測振弦采集儀的操作方法及數據處理技術 振弦采集儀是巖土工程監測中常用的一種儀器,用于測量地下土層的動力特性和地下水位等參數。下面是振弦采集儀的操作方法及數據處理技術: 巖土工程監測
    的頭像 發表于 03-15 13:31 ?306次閱讀
    巖土工程監測<b class='flag-5'>中</b>振弦采集儀的操作方法及<b class='flag-5'>數據處理</b>技術
    主站蜘蛛池模板: 午夜福利不卡片在线播放免费 | 国产精品18久久久久网站 | 亚洲黄色在线视频 | 三级网址在线观看 | 男生扒开美女尿口戳戳 | 久久这里只精品热在线18 | 无码中文字幕av免费放 | bl被教练啪到哭H玉势 | 亚洲春色AV无码专区456 | 高清午夜福利电影在线 | 久久久久久久网 | 国产精品日韩欧美一区二区三区 | 日韩精品久久日日躁夜夜躁影视 | 99久久亚洲精品日本无码 | 牢记永久免费网址 | 日韩一区二区三区视频在线观看 | 久久精品热在线观看30 | 日本污ww视频网站 | 好大快用力深一点h视频 | 国产午夜精品自在自线之la | 国产电影尺度 | 人禽l交视频在线播放 视频 | 国产成人国产在线观看入口 | 人妻久久久精品99系列AV | 在线观看永久免费网址 | 国产精品免费一区二区三区视频 | 久久久久激情免费观看 | 一本大道手机在线看 | 高清日本片免费观看 | 成人片在线播放 | 美女张开让男生桶 | 日本一卡二卡三卡四卡无卡免费播放 | 被强J高H纯肉公交车啊 | 中国女人内谢69XXXXXA片 | 又色又爽又黄gif动态视频 | 热久久伊大人香蕉网老师 | 极品少妇高潮啪啪AV无码 | 99九九精品视频 | 日本午夜精品理论片A级APP发布 | 亚洲 欧美 国产 综合久久 | 一二三四在线高清中文版免费观看电影 |