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

pandas中DataFrame排序及分組排序的實(shí)現(xiàn)示例

 更新時間:2024年04月03日 11:55:29   作者:craftsman2020  
本文主要介紹了pandas中DataFrame排序及分組排序,pandas中的sort_values()函數(shù)原理類似于SQL中的order by,可以將數(shù)據(jù)集依照某個字段中的數(shù)據(jù)進(jìn)行排序,下面就來具體介紹一下,感興趣的可以了解一下

1. sort_values

pandas中的sort_values()函數(shù)原理類似于SQL中的order by,可以將數(shù)據(jù)集依照某個字段中的數(shù)據(jù)進(jìn)行排序,該函數(shù)即可根據(jù)指定列數(shù)據(jù)也可根據(jù)指定行的數(shù)據(jù)排序。

官方文檔

## 參數(shù)    
DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last')  
#### 參數(shù)說明    
axis:{0 or ‘index', 1 or ‘columns'}, default 0,默認(rèn)按照索引排序,即縱向排序,如果為1,則是橫向排序    
by:str or list of str;如果axis=0,那么by="列名";如果axis=1,那么by="行名";  
ascending:布爾型,True則升序,可以是[True,False],即第一字段升序,第二個降序  
inplace:布爾型,是否用排序后的數(shù)據(jù)框替換現(xiàn)有的數(shù)據(jù)框  
kind:排序方法,{‘quicksort', ‘mergesort', ‘heapsort'}, default ‘quicksort'。似乎不用太關(guān)心  
na_position : {‘first', ‘last'}, default ‘last',默認(rèn)缺失值排在最后面  

2. 排序sort_values

構(gòu)建DataFrame

import pandas as pd

df = pd.DataFrame([['a', 100, 'c'], ['a', 300, 'a'], ['a', 200, 'b'],
                   ['c', 300, 'a'], ['c', 200, 'b'], ['c', 100, 'c'],
                   ['b', 200, 'b'], ['b', 300, 'a'], ['b', 100, 'c']], columns=['X', 'Y', 'Z'])

   X    Y  Z
0  a  100  c
1  a  300  a
2  a  200  b
3  c  300  a
4  c  200  b
5  c  100  c
6  b  200  b
7  b  300  a
8  b  100  c

按照Y, X兩列對df進(jìn)行降序排列

df.sort_values(by=['Y', 'X'], ascending=False, inplace=True)
print(df)

   X    Y  Z
3  c  300  a
7  b  300  a
1  a  300  a
4  c  200  b
6  b  200  b
2  a  200  b
5  c  100  c
8  b  100  c
0  a  100  c

3. 分組排序groupby|sort_values

按照X列進(jìn)行分組后對Y列進(jìn)行升序排序

res = df.groupby('X', sort=False).apply(lambda x: x.sort_values('Y', ascending=True)).reset_index(drop=True)
print(res)

   X    Y  Z
0  a  100  c
1  a  200  b
2  a  300  a
3  c  100  c
4  c  200  b
5  c  300  a
6  b  100  c
7  b  200  b
8  b  300  a

示例:

創(chuàng)建數(shù)據(jù)框

#利用字典dict創(chuàng)建數(shù)據(jù)框
import numpy as np
import pandas as pd
df=pd.DataFrame({'col1':['A','A','B',np.nan,'D','C'],
                 'col2':[2,1,9,8,7,7],
                 'col3':[0,1,9,4,2,8]
})
print(df)

>>>
  col1  col2  col3
0    A     2     0
1    A     1     1
2    B     9     9
3  NaN     8     4
4    D     7     2
5    C     7     8

依據(jù)第一列排序,并將該列空值放在首位

#依據(jù)第一列排序,并將該列空值放在首位
print(df.sort_values(by=['col1'],na_position='first'))
>>>
  col1  col2  col3
3  NaN     8     4
0    A     2     0
1    A     1     1
2    B     9     9
5    C     7     8
4    D     7     2

依據(jù)第二、三列,數(shù)值降序排序

#依據(jù)第二、三列,數(shù)值降序排序
print(df.sort_values(by=['col2','col3'],ascending=False))
>>>
  col1  col2  col3
2    B     9     9
3  NaN     8     4
5    C     7     8
4    D     7     2
0    A     2     0
1    A     1     1

根據(jù)第一列中數(shù)值排序,按降序排列,并替換原數(shù)據(jù)

#根據(jù)第一列中數(shù)值排序,按降序排列,并替換原數(shù)據(jù)
df.sort_values(by=['col1'],ascending=False,inplace=True,
                     na_position='first')
print(df)
>>>
  col1  col2  col3
3  NaN     8     4
4    D     7     2
5    C     7     8
2    B     9     9
1    A     1     1
0    A     2     0

按照索引值為0的行,即第一行的值來降序排序

x = pd.DataFrame({'x1':[1,2,2,3],'x2':[4,3,2,1],'x3':[3,2,4,1]}) 
print(x)
#按照索引值為0的行,即第一行的值來降序排序
print(x.sort_values(by =0,ascending=False,axis=1))
>>>
   x1  x2  x3
0   1   4   3
1   2   3   2
2   2   2   4
3   3   1   1
   x2  x3  x1
0   4   3   1
1   3   2   2
2   2   4   2
3   1   1   3

到此這篇關(guān)于pandas中DataFrame排序及分組排序的文章就介紹到這了,更多相關(guān)pandas 排序及分組排序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • Python pyecharts模塊安裝與入門教程

    Python pyecharts模塊安裝與入門教程

    Echarts 是一個由百度開源的數(shù)據(jù)可視化,憑借著良好的交互性,精巧的圖表設(shè)計(jì),得到了眾多開發(fā)者的認(rèn)可,這篇文章主要介紹了Python pyecharts數(shù)據(jù)可視化模塊安裝與入門教程,需要的朋友可以參考下
    2022-09-09
  • 講解Python3中NumPy數(shù)組尋找特定元素下標(biāo)的兩種方法

    講解Python3中NumPy數(shù)組尋找特定元素下標(biāo)的兩種方法

    這篇文章主要介紹了講解Python3中NumPy數(shù)組尋找特定元素下標(biāo)的兩種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • python中count函數(shù)簡單的實(shí)例講解

    python中count函數(shù)簡單的實(shí)例講解

    在本篇文章里小編給大家整理了關(guān)于python中count函數(shù)簡單的實(shí)例講解,有興趣的朋友們可以參考下。
    2020-02-02
  • 如何基于python實(shí)現(xiàn)歸一化處理

    如何基于python實(shí)現(xiàn)歸一化處理

    這篇文章主要介紹了如何基于python實(shí)現(xiàn)歸一化處理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • PyTorch CUDA環(huán)境配置及安裝的步驟(圖文教程)

    PyTorch CUDA環(huán)境配置及安裝的步驟(圖文教程)

    這篇文章主要介紹了PyTorch CUDA環(huán)境配置及安裝的步驟(圖文教程),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 如何將寫好的pygame游戲打包成exe文件

    如何將寫好的pygame游戲打包成exe文件

    這篇文章主要介紹了如何將寫好的pygame游戲打包成exe文件,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • python實(shí)現(xiàn)在列表中查找某個元素的下標(biāo)示例

    python實(shí)現(xiàn)在列表中查找某個元素的下標(biāo)示例

    這篇文章主要介紹了python實(shí)現(xiàn)在列表中查找某個元素的下標(biāo)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • flask框架使用orm連接數(shù)據(jù)庫的方法示例

    flask框架使用orm連接數(shù)據(jù)庫的方法示例

    這篇文章主要介紹了flask框架使用orm連接數(shù)據(jù)庫的方法,結(jié)合實(shí)例形式分析了flask框架使用flask_sqlalchemy包進(jìn)行mysql數(shù)據(jù)庫連接操作的具體步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2018-07-07
  • 使用python查找windows系統(tǒng)中所有程序的安裝信息

    使用python查找windows系統(tǒng)中所有程序的安裝信息

    這篇文章主要為大家介紹了使用python查找windows系統(tǒng)中所有程序的安裝信息示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • python文件操作之目錄遍歷實(shí)例分析

    python文件操作之目錄遍歷實(shí)例分析

    這篇文章主要介紹了python文件操作之目錄遍歷的方法,以實(shí)例形式較為詳細(xì)的分析了目錄遍歷所需要用到的相關(guān)函數(shù)與使用技巧,需要的朋友可以參考下
    2015-05-05

最新評論

梧州市| 鄂温| 五华县| 手机| 双峰县| 泰宁县| 孟村| 彭泽县| 安新县| 平武县| 常德市| 昆明市| 泸定县| 枣阳市| 克什克腾旗| 宁都县| 云和县| 封丘县| 开化县| 瑞丽市| 渝北区| 乐陵市| 探索| 青岛市| 田林县| 西充县| 济南市| 临汾市| 茶陵县| 始兴县| 康马县| 朝阳区| 余姚市| 金堂县| 苏州市| 全州县| 五峰| 会理县| 陆良县| 盘山县| 曲松县|