最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pandas 實(shí)現(xiàn)分組后取第N行

 更新時間:2021年03月26日 10:55:10   作者:NoOne-csdn  
這篇文章主要介紹了pandas 實(shí)現(xiàn)分組后取第N行的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

目的:

把question_id 對應(yīng)的user_answer轉(zhuǎn)成ABCD

solution

dfa=df.groupby('question_id').nth(0).reset_index()
dfa['flag']='A'
dfb=df.groupby('question_id').nth(1).reset_index()
dfb['flag']='B'
dfc=df.groupby('question_id').nth(2).reset_index()
dfc['flag']='C'
dfd=df.groupby('question_id').nth(3).reset_index()
dfd['flag']='D'

resdf=dfa.append([dfb,dfc,dfd])
resdf.sort_values(by='question_id')

result

focus

g.nth(0) 
#同 
g.first()
g.head(1)
g.last()

g.nth(2)
g.nth(-1)

g.nth(0,dropna='any')
g.B.nth(0,dropna='all')
g.groups
g.get_group(134429)
g.discribe()
g.agg([np.mean,np.sum.np,std])

補(bǔ)充:pandas的分組取最大多行并求和函數(shù)nlargest()

在pandas庫里面,我們常常關(guān)心的是最大的前幾個,比如銷售最好的幾個產(chǎn)品,幾個店,等。之前講到的head(), 能夠看到看到DF里面的前幾行,如果需要看到最大或者最小的幾行就需要先進(jìn)行排序。max()和min()可以看到最大或者最小值,但是只能看到一個值。

所以我們可以使用nlargest()函數(shù),nlargest()的優(yōu)點(diǎn)就是能一次看到最大的幾行,而且不需要排序。缺點(diǎn)就是只能看到最大的,看不到最小的。

我們來看看單價排在前十的數(shù)據(jù):

單價排在前十的數(shù)據(jù)

nlargest()的第一個參數(shù)就是截取的行數(shù)。第二個參數(shù)就是依據(jù)的列名。

這樣就可以篩選出單價最高的前十行,而且是按照單價從最高到最低進(jìn)行排列的,所以還是按照之前的索引。

還可以按照total_price來進(jìn)行排名:

按照total_price排名

nlargest還有一個參數(shù),keep='first'或者'last'。當(dāng)出現(xiàn)重復(fù)值的時候,keep='first',會選取在原始DataFrame里排在前面的,keep='last'則去排后面的。

由于nlagerst()不能去最小的多個值,如果我們一定要使用這個函數(shù)進(jìn)行選取也是可以的.

先設(shè)置一個輔助列:

先設(shè)置一個輔助列

然后在進(jìn)行選?。?/p>

以輔助列進(jìn)行選取

當(dāng)然了,也可以通過head()加上排序進(jìn)行選取的。

那以前這些操作都可以通過其它函數(shù)來進(jìn)行替代的話,nlargest()有什么必要介紹嗎?或者說學(xué)不學(xué)這個函數(shù)有什么關(guān)系嗎?

這就是我們今天要重點(diǎn)介紹的,如果說要選擇不同location_road下的前五名要怎么操作呢?

很多人可能第一反應(yīng)會想到先分組然后進(jìn)行max()操作,但是這樣的操作只能選擇最大的一列:

使用max()

但是使用max有一個問題,就是選取的是每一列的最大值,而不是選取最大值的那一行,也就是說只能在選取單列的最大值的時候才是準(zhǔn)確的。

這個時候我們就要想到apply和lambda的自定義函數(shù)了:

選取多個指標(biāo)的TOP(N)

這樣就選出了不同loaction_road的price排在前五的行了。

nlargest()函數(shù)在這種場景下使用是非常方便的,而且結(jié)果也已經(jīng)默認(rèn)排好順序了。

還有一些場景下需要計(jì)算分組的前幾名,然后在進(jìn)行求和的,這個我們也可以使用nlargest進(jìn)行操作:

分組之后進(jìn)行求和

使用這種方法會出現(xiàn)報(bào)錯提示,這個因?yàn)樵诹泻退饕即嬖趌oaction_road,有重復(fù),系統(tǒng)有警告,在實(shí)際使用時可以先改列名再操作。我們也可以換一種方式直接按照索引進(jìn)行求和,這樣就沒有警告了:

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • 深入了解Python iter() 方法的用法

    深入了解Python iter() 方法的用法

    這篇文章主要介紹了深入了解Python iter() 方法的知識,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • numpy 計(jì)算兩個數(shù)組重復(fù)程度的方法

    numpy 計(jì)算兩個數(shù)組重復(fù)程度的方法

    今天小編就為大家分享一篇numpy 計(jì)算兩個數(shù)組重復(fù)程度的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • python中的插入排序的簡單用法

    python中的插入排序的簡單用法

    在本篇內(nèi)容里小編給各位分享的是一篇關(guān)于python中的插入排序的簡單用法,有興趣的朋友們可以參考學(xué)習(xí)下。
    2021-01-01
  • pandas獲取某列最大值的所有數(shù)據(jù)的兩種方法

    pandas獲取某列最大值的所有數(shù)據(jù)的兩種方法

    本文主要介紹了pandas獲取某列最大值的所有數(shù)據(jù)實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • 淺析Python 簡單工廠模式和工廠方法模式的優(yōu)缺點(diǎn)

    淺析Python 簡單工廠模式和工廠方法模式的優(yōu)缺點(diǎn)

    這篇文章主要介紹了Python 工廠模式的相關(guān)資料,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • python3實(shí)現(xiàn)將json對象存入Redis以及數(shù)據(jù)的導(dǎo)入導(dǎo)出

    python3實(shí)現(xiàn)將json對象存入Redis以及數(shù)據(jù)的導(dǎo)入導(dǎo)出

    這篇文章主要介紹了python3實(shí)現(xiàn)將json對象存入Redis以及數(shù)據(jù)的導(dǎo)入導(dǎo)出,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Python OpenCV一個窗口中顯示多幅圖像

    Python OpenCV一個窗口中顯示多幅圖像

    大家好,本篇文章主要講的是Python OpenCV一個窗口中顯示多幅圖像,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • python之如何查找多層嵌套字典的值

    python之如何查找多層嵌套字典的值

    這篇文章主要介紹了python之如何查找多層嵌套字典的值問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • 教你用python將數(shù)據(jù)寫入Excel文件中

    教你用python將數(shù)據(jù)寫入Excel文件中

    Python作為一種腳本語言相較于shell具有更強(qiáng)大的文件處理能力,下面這篇文章主要給大家介紹了關(guān)于如何用python將數(shù)據(jù)寫入Excel文件中的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-02-02
  • Python Pickling 和 Unpickling 的區(qū)別

    Python Pickling 和 Unpickling 的區(qū)別

    Python中的Pickling和Unpickling是與數(shù)據(jù)序列化和反序列化相關(guān)的重要概念,本文主要介紹了Python Pickling和Unpickling的區(qū)別,具有一定的參考價值,感興趣的可以了解一下
    2023-11-11

最新評論

昌邑市| 吴川市| 长葛市| 吉隆县| 汾西县| 都江堰市| 理塘县| 德安县| 天全县| 五家渠市| 岳阳市| 万载县| 大余县| 驻马店市| 内乡县| 海城市| 石柱| 长丰县| 当阳市| 大庆市| 讷河市| 祥云县| 杂多县| 云安县| 阜新| 康定县| 安新县| 兴安县| 普兰县| 杨浦区| 嵊泗县| 工布江达县| 汶上县| 大足县| 潞西市| 镇远县| 基隆市| 玉屏| 米易县| 昭通市| 崇信县|