哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

數(shù)據(jù)處理中pandas的groupby小技巧

數(shù)據(jù)分析與開發(fā) ? 來源:Python數(shù)據(jù)科學(xué) ? 作者:東哥起飛 ? 2021-04-09 11:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

import pandas as pd

iris = pd.read_csv

隨機采樣5條,數(shù)據(jù)是長這樣子的。

》》》 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

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

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

iris_gb = iris.groupby(‘species’)

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

》》》 iris_gb.size()

species

setosa 50

versicolor 50

virginica 50

dtype: int64

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

》》》 # 計算均值

》》》 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()函數(shù)將對所有變量特征計算均值。如果我希望只計算某一個變量的均值,可以指定該變量,如下所示。

》》》 # 單列

》》》 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

同理,其它描述性統(tǒng)計量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

如何應(yīng)用呢?

比如我們想查找每組sepal_length最大值對應(yīng)的整條記錄時,就可以這樣用。注意,這里是整條記錄,相當(dāng)于按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

但其實,還有一個看上去更加友好的用法??梢栽趃roupby的時候就設(shè)置as_index參數(shù),也可以達到同樣效果。

》》》 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

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

groupby還有一個超級棒的用法就是和聚合函數(shù)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里面,我們只要列出統(tǒng)計量的名稱即可,便可同時對每個列進行多維度統(tǒng)計。

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

所以在這種情況下,我們可以通過為不同的列單獨設(shè)置不同的統(tǒng)計量。

》》》 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命名統(tǒng)計量現(xiàn)在我又有新的想法了。上面的多級索引看起來有點不太友好,我想把每個列下面的統(tǒng)計量和列名分別合并起來。可以使用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”)

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

》》》 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])

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

》》》 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

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

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

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

原文標(biāo)題:Pandas 100 個騷操作:groupby 8 個常用技巧!

文章出處:【微信公眾號:數(shù)據(jù)分析與開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4421

    瀏覽量

    67820
  • 數(shù)據(jù)處理
    +關(guān)注

    關(guān)注

    0

    文章

    653

    瀏覽量

    30076

原文標(biāo)題:Pandas 100 個騷操作:groupby 8 個常用技巧!

文章出處:【微信號:DBDevs,微信公眾號:數(shù)據(jù)分析與開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    云端數(shù)據(jù)處理專利技術(shù):重塑數(shù)字時代的算力基石

    一、云端數(shù)據(jù)處理:數(shù)字經(jīng)濟的核心引擎在數(shù)字化浪潮席卷全球的今天,每天產(chǎn)生的數(shù)據(jù)量呈指數(shù)級增長。從智能終端的實時傳感數(shù)據(jù),到企業(yè)的業(yè)務(wù)運營數(shù)據(jù),再到科研領(lǐng)域的海量實驗
    的頭像 發(fā)表于 04-07 11:20 ?902次閱讀
    云端<b class='flag-5'>數(shù)據(jù)處理</b>專利技術(shù):重塑數(shù)字時代的算力基石

    自動駕駛?cè)绾未_保數(shù)據(jù)處理的實時性?

    [首發(fā)于智駕最前沿微信公眾號]在自動駕駛系統(tǒng)里,數(shù)據(jù)處理的實時性并不是一個抽象的技術(shù)指標(biāo),而是直接決定車輛“來不來得及反應(yīng)”的關(guān)鍵能力。道路環(huán)境變化極快,前車急剎、行人突然橫穿、旁車并線等情況
    的頭像 發(fā)表于 02-21 09:48 ?5333次閱讀
    自動駕駛?cè)绾未_保<b class='flag-5'>數(shù)據(jù)處理</b>的實時性?

    DPU數(shù)據(jù)處理器的核心功能和應(yīng)用領(lǐng)域

    DPU,全稱數(shù)據(jù)處理器(Data Processing Unit),是一種專門用于處理數(shù)據(jù)中心中數(shù)據(jù)流動與基礎(chǔ)設(shè)施任務(wù)的專用處理器。它既不像
    的頭像 發(fā)表于 02-02 13:52 ?867次閱讀
    DPU<b class='flag-5'>數(shù)據(jù)處理</b>器的核心功能和應(yīng)用領(lǐng)域

    SN74CB3Q3257:助力高速數(shù)據(jù)處理的理想之選

    SN74CB3Q3257:助力高速數(shù)據(jù)處理的理想之選 在當(dāng)今快速發(fā)展的電子科技領(lǐng)域,高速數(shù)據(jù)處理和傳輸需求日益增長,對電子元件的性能和可靠性也提出了更高的要求。SN74CB3Q3257這款 4 位
    的頭像 發(fā)表于 01-15 16:50 ?344次閱讀

    探索DS08MB200:高速數(shù)據(jù)處理的理想之選

    探索DS08MB200:高速數(shù)據(jù)處理的理想之選 在高速數(shù)據(jù)處理領(lǐng)域,工程師們總是在尋找性能卓越、功能強大且穩(wěn)定可靠的器件。今天,我們就來深入了解一款由德州儀器(TI)推出的DS08MB200雙端口
    的頭像 發(fā)表于 12-27 14:20 ?765次閱讀

    海光3350便攜機主板:大數(shù)據(jù)處理利器

    隨著企業(yè)數(shù)字化轉(zhuǎn)型加速,大數(shù)據(jù)處理需求從固定機房向移動場景延伸。無論是金融機構(gòu)外出調(diào)研、科研團隊野外數(shù)據(jù)采集,還是個人創(chuàng)作者處理海量素材,便攜設(shè)備的性能成為關(guān)鍵。海光便攜機主板憑借獨特的技術(shù)優(yōu)勢,正成為大
    的頭像 發(fā)表于 12-26 11:15 ?688次閱讀

    SmartBug2.0 用戶指南:硬件連接、功能使用與數(shù)據(jù)處理全解析

    SmartBug2.0 用戶指南:硬件連接、功能使用與數(shù)據(jù)處理全解析 在電子設(shè)備的開發(fā)與應(yīng)用,傳感器模塊的功能和使用方式至關(guān)重要。SmartBug2.0 作為一款功能強大的模塊,為我們在多領(lǐng)域
    的頭像 發(fā)表于 12-26 09:15 ?524次閱讀

    賦能變電站智能運維:EN-HJCL100 環(huán)境數(shù)據(jù)處理單元的核心價值

    在變電站智能化升級的浪潮,環(huán)境數(shù)據(jù)處理單元作為數(shù)據(jù)采集與聯(lián)動控制的關(guān)鍵樞紐,正成為保障電力系統(tǒng)穩(wěn)定運行的核心設(shè)備。EN-HJCL100 環(huán)境數(shù)據(jù)處理單元憑借全面的功能配置與可靠的運行
    的頭像 發(fā)表于 12-04 09:25 ?367次閱讀

    MCU數(shù)據(jù)采集模塊的數(shù)據(jù)處理和分析能力如何?

    MCU數(shù)據(jù)采集模塊的數(shù)據(jù)處理和分析能力如何?在現(xiàn)代化結(jié)構(gòu)物安全監(jiān)測領(lǐng)域,MCU數(shù)據(jù)采集模塊扮演著至關(guān)重要的角色。它不僅僅是數(shù)據(jù)的“搬運工”,更是具備初步
    的頭像 發(fā)表于 12-02 16:03 ?525次閱讀
    MCU<b class='flag-5'>數(shù)據(jù)</b>采集模塊的<b class='flag-5'>數(shù)據(jù)處理</b>和分析能力如何?

    內(nèi)存與數(shù)據(jù)處理優(yōu)化藝術(shù)

    事務(wù)數(shù)量,更好地利用CPU緩存。測試表明,在處理大量數(shù)據(jù)(如20MB)時,這種優(yōu)化可能帶來數(shù)倍的性能提升。
    發(fā)表于 11-14 07:46

    華大九天Empyrean GoldMask平臺重構(gòu)掩模版數(shù)據(jù)處理方案

    對芯片產(chǎn)業(yè)鏈上的光罩廠、設(shè)計公司而言,掩模版數(shù)據(jù)處理環(huán)節(jié)的效率與精度,直接決定著產(chǎn)品能否如期上市、良率能否達標(biāo)、成本能否可控。當(dāng)芯片工藝向更先進節(jié)點跨越,掩模版數(shù)據(jù)處理已成為制約生產(chǎn)效率與良率提升
    的頭像 發(fā)表于 08-26 15:03 ?2761次閱讀
    華大九天Empyrean GoldMask平臺重構(gòu)掩模版<b class='flag-5'>數(shù)據(jù)處理</b>方案

    如何利用 AI 算法優(yōu)化碳化硅襯底 TTV 厚度測量數(shù)據(jù)處理

    碳化硅半導(dǎo)體制造,晶圓總厚度變化(TTV)是衡量襯底質(zhì)量的關(guān)鍵指標(biāo)。TTV 厚度測量數(shù)據(jù)處理的準(zhǔn)確性直接影響工藝優(yōu)化與產(chǎn)品良率。然而,測量數(shù)據(jù)常受環(huán)境噪聲、設(shè)備誤
    的頭像 發(fā)表于 08-25 14:06 ?750次閱讀
    如何利用 AI 算法優(yōu)化碳化硅襯底 TTV 厚度測量<b class='flag-5'>數(shù)據(jù)處理</b>

    二進制數(shù)據(jù)處理方法分享

    隨著不斷增長的測試需求、更加復(fù)雜的系統(tǒng)集成和更多的數(shù)據(jù)處理,程序控制在示波器的應(yīng)用中越來越多。在程序控制很重要的一部分就是如何把數(shù)據(jù)從示波器傳輸?shù)轿覀兊纳衔粰C上,并且當(dāng)
    的頭像 發(fā)表于 07-30 15:41 ?2569次閱讀
    二進制<b class='flag-5'>數(shù)據(jù)處理</b>方法分享

    電商API的實時數(shù)據(jù)處理

    ? 在現(xiàn)代電商平臺中,API(應(yīng)用程序接口)扮演著核心角色,它連接用戶、商家和后臺系統(tǒng),實現(xiàn)數(shù)據(jù)的高效交換。隨著電商業(yè)務(wù)規(guī)模的擴大,實時數(shù)據(jù)處理變得至關(guān)重要——它要求系統(tǒng)在毫秒級內(nèi)響應(yīng)API請求
    的頭像 發(fā)表于 07-23 15:39 ?683次閱讀
    電商API的實時<b class='flag-5'>數(shù)據(jù)處理</b>

    抖音電商 API 接口和傳統(tǒng)電商接口,直播數(shù)據(jù)處理誰更快?

    開發(fā)者理解誰在直播數(shù)據(jù)處理更勝一籌。 1. 直播數(shù)據(jù)處理的核心挑戰(zhàn) 直播電商涉及實時數(shù)據(jù)流,如用戶互動、訂單生成和庫存更新。處理速度取決于
    的頭像 發(fā)表于 07-09 15:39 ?826次閱讀
    抖音電商 API 接口和傳統(tǒng)電商接口,直播<b class='flag-5'>數(shù)據(jù)處理</b>誰更快?
    焦作市| 集安市| 分宜县| 界首市| 方山县| 亚东县| 都昌县| 巩留县| 巴东县| 无极县| 彝良县| 佳木斯市| 承德市| 仪陇县| 扎鲁特旗| 榆林市| 金华市| 饶平县| 吉木萨尔县| 会宁县| 衡南县| 黄陵县| 武川县| 鱼台县| 绿春县| 建平县| 无为县| 吉首市| 册亨县| 乐东| 通化市| 阳朔县| 吴堡县| 通道| 文水县| 分宜县| 聊城市| 平乐县| 越西县| 洛南县| 军事|