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

Pandas分組與排序的實(shí)現(xiàn)

 更新時間:2019年07月23日 10:30:29   作者:ai_1046067944  
這篇文章主要介紹了Pandas分組與排序的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、pandas分組

1、分組運(yùn)算過程:split->apply->combine

  • 拆分:進(jìn)行分組的根據(jù)
  • 應(yīng)用:每個分組運(yùn)行的計算規(guī)則
  • 合并:把每個分組的計算結(jié)果合并起來

2、分組函數(shù)

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

by: 依據(jù)哪些列進(jìn)行分組,值可以是:mapping, function, label, or list of labels

3、聚合函數(shù)

4、分組聚合實(shí)例

單列分組

>>> import pandas as pd
>>> df = pd.DataFrame({'A': ['a', 'b', 'a', 'c', 'a', 'c', 'b', 'c'], 'B': [2, 8, 1, 4,
3, 2, 5, 9], 'C': [102, 98, 107, 104, 115, 87, 92, 123], 'D': [2, 98, 17, 14, 15, 7, 92,
 13]})
>>> df
  A B  C  D
0 a 2 102  2
1 b 8  98 98
2 a 1 107 17
3 c 4 104 14
4 a 3 115 15
5 c 2  87  7
6 b 5  92 92
7 c 9 123 13
>>> df.groupby(by='A').sum()
  B  C  D
A
a  6 324  34
b 13 190 190
c 15 314  34

多列分組

>>> df.groupby(by=['A','B']).sum()       ###A,B成索引
    C  D
A B
a 1 107 17
 2 102  2
 3 115 15
b 5  92 92
 8  98 98
c 2  87  7
 4 104 14
 9 123 13

多列聚合

>>> df.groupby(by=['A','B'])['C'].sum()   ###1個列
A B
a 1  107
  2  102
  3  115
b 5   92
  8   98
c 2   87
  4  104
  9  123
 
>>> df.groupby(by=['A','B'])['C','D'].sum()  ###2個列
    C  D
A B
a 1 107 17
 2 102  2
 3 115 15
b 5  92 92
 8  98 98
c 2  87  7
 4 104 14
 9 123 13

多列不同聚合方式

>>> import numpy as np
>>> df.groupby(by=['A']).agg({'C':[np.mean, 'sum'], 'D':['count',np.std]})
      C     D
     mean sum count    std
A
a 108.000000 324   3 8.144528
b  95.000000 190   2 4.242641
c 104.666667 314   3 3.785939
 
 
>>>ps: 不同列使用多個不同函數(shù)進(jìn)行聚合C: mean,sum;D:count,std

返回值類型區(qū)別

方法1:agg
>>> df.groupby(by=['A']).agg({'C':[np.mean]})
      C
     mean
A
a 108.000000
b  95.000000
c 104.666667
>>> type(df.groupby(by=['A']).agg({'C':[np.mean]}))
<class 'pandas.core.frame.DataFrame'>
 
 
方法2:索引
>>> df.groupby(by=['A'])['C'].mean()
A
a  108.000000
b   95.000000
c  104.666667
Name: C, dtype: float64
>>> type(df.groupby(by=['A'])['C'].mean())
<class 'pandas.core.series.Series'>
 
 
 
總結(jié): 兩種方法結(jié)果一樣,但是一個類型是DataFrame,一個為Series;有時候會用上

二、pandas排序

按索引進(jìn)行降序排列

>>> df
  A B  C  D
0 a 2 102  2
1 b 8  98 98
2 a 1 107 17
3 c 4 104 14
4 a 3 115 15
5 c 2  87  7
6 b 5  92 92
7 c 9 123 13
>>> df.sort_index(ascending=False)    ### 索引
  A B  C  D
7 c 9 123 13
6 b 5  92 92
5 c 2  87  7
4 a 3 115 15
3 c 4 104 14
2 a 1 107 17
1 b 8  98 98
0 a 2 102  2

按值進(jìn)行降序排列

>>> df.sort_values(by="A",ascending=False)    # 按某一列
  A B  C  D
3 c 4 104 14
5 c 2  87  7
7 c 9 123 13
1 b 8  98 98
6 b 5  92 92
0 a 2 102  2
2 a 1 107 17
4 a 3 115 15
 
>>> df.sort_values(by=["B","A"],ascending=False)  # 按2列
  A B  C  D
7 c 9 123 13
1 b 8  98 98
6 b 5  92 92
3 c 4 104 14
4 a 3 115 15
5 c 2  87  7
0 a 2 102  2
2 a 1 107 17

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python 高級庫15 個讓新手愛不釋手(推薦)

    Python 高級庫15 個讓新手愛不釋手(推薦)

    對于初學(xué)者來說,這是一種簡單易學(xué)的編程語言;另一個原因:大量開箱即用的第三方庫,正是 23 萬個由用戶提供的軟件包使得 Python 真正強(qiáng)大和流行,本文給大家分享15 個讓新手愛不釋手Python 高級庫的相關(guān)知識,感興趣的朋友一起看看吧
    2021-05-05
  • Pytorch可視化(顯示圖片)及格式轉(zhuǎn)換問題

    Pytorch可視化(顯示圖片)及格式轉(zhuǎn)換問題

    這篇文章主要介紹了Pytorch可視化(顯示圖片)及格式轉(zhuǎn)換問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • python 刪除excel表格重復(fù)行,數(shù)據(jù)預(yù)處理操作

    python 刪除excel表格重復(fù)行,數(shù)據(jù)預(yù)處理操作

    這篇文章主要介紹了python 刪除excel表格重復(fù)行,數(shù)據(jù)預(yù)處理操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Python中range函數(shù)的基本用法完全解讀

    Python中range函數(shù)的基本用法完全解讀

    range函數(shù)大多數(shù)時常出現(xiàn)在for循環(huán)中,在for循環(huán)中可做為索引使用,下面這篇文章主要給大家介紹了關(guān)于Python中range函數(shù)的基本用法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-01-01
  • python字符串的方法與操作大全

    python字符串的方法與操作大全

    這篇文章主要介紹了python字符串的方法與操作大全,非常不錯,具有參考借鑒借鑒價值,需要的朋友可以參考下
    2018-01-01
  • python數(shù)據(jù)分析matplotlib的基礎(chǔ)繪圖使用

    python數(shù)據(jù)分析matplotlib的基礎(chǔ)繪圖使用

    這篇文章主要為大家介紹了python數(shù)據(jù)分析matplotlib的基礎(chǔ)繪圖使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Python腳本打包成可執(zhí)行文件過程解析

    Python腳本打包成可執(zhí)行文件過程解析

    這篇文章主要介紹了Python腳本打包成可執(zhí)行文件過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • Python中使用pypdf2合并、分割、加密pdf文件的代碼詳解

    Python中使用pypdf2合并、分割、加密pdf文件的代碼詳解

    這篇文章主要介紹了Python中使用pypdf2合并、分割、加密pdf文件的代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-05-05
  • Selenium chrome配置代理Python版的方法

    Selenium chrome配置代理Python版的方法

    這篇文章主要介紹了Selenium chrome配置代理Python版的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • OpenCV實(shí)現(xiàn)去除背景識別的方法總結(jié)

    OpenCV實(shí)現(xiàn)去除背景識別的方法總結(jié)

    這篇文章主要為大家詳細(xì)介紹了如何利用OpenCV實(shí)現(xiàn)去除背景識別的功能,文中為大家總結(jié)了一些方法,感興趣的小伙伴快跟隨小編一起學(xué)習(xí)一下
    2022-10-10

最新評論

内丘县| 安宁市| 临猗县| 鄂尔多斯市| 义乌市| 抚顺市| 永福县| 达尔| 莱西市| 修水县| 鹤峰县| 榆林市| 福清市| 安仁县| 衢州市| 鄂尔多斯市| 镇坪县| 安多县| 石河子市| 介休市| 务川| 云南省| 平邑县| 松江区| 嫩江县| 浦城县| 抚顺市| 乐山市| 安阳市| 泰顺县| 丹阳市| 兴义市| 商河县| 巫山县| 秀山| 乐昌市| 濮阳市| 陇川县| 苏尼特右旗| 太仆寺旗| 鲁甸县|