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

python如何實現(xiàn)排序,并標(biāo)上序號

 更新時間:2022年06月10日 10:35:59   作者:Jepson2017  
這篇文章主要介紹了python如何實現(xiàn)排序,并標(biāo)上序號,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

python排序并標(biāo)上序號

需求:利用python實現(xiàn)排序功能

測試數(shù)據(jù):data.csv

"id","date","amount"
"1","2019-02-08","6214.23"
"1","2019-02-08","6247.32"
"1","2019-02-09","85.63"
"2","2019-02-14","943.18"
"2","2019-02-15","369.76"
"2","2019-02-18","795.15"
"2","2019-02-19","715.65"
"2","2019-02-21","537.71"
"2","2019-02-24","1037.71"
"3","2019-02-09","967.36"
"3","2019-02-10","85.69"
"3","2019-02-12","769.85"
"3","2019-02-13","943.86"
"3","2019-02-19","843.86"
"3","2019-02-11","85.69"
"3","2019-02-14","843.86"
"1","2019-02-10","985.63"
"1","2019-02-09","285.63"
"1","2019-02-11","1285.63"

第一種常見排序: 將上面數(shù)據(jù)按照amount字段進(jìn)行排序

import pandas as pd
filename="data.csv"
df=pd.read_csv(filename)
#增加一個rank排序字段
df['rank']=df['amount'].rank(ascending=0, method='first')

說明:ascending :1 表示升序,0表示降序

method:此參數(shù)的作用是,當(dāng)遇到兩個值相同時,排序處理的方式??梢匀〉闹涤?first、max、min、dense

(1)method =‘first’ 時

表示排序時,序號不會重復(fù)且是連續(xù)的,遇到相同的值時,會按照數(shù)據(jù)的先后順序標(biāo)序號,如下圖:

df['rank']=df['amount'].rank(ascending=0, method='first')
print(df)

(2)method='min’時

表示排序時,遇到相同的值時,后面數(shù)的序號與最先出現(xiàn)的數(shù)的序號保持一致,如下圖,843.86值重復(fù)兩次,排名均為9,且排序中沒有序號10(序號不連續(xù))

df['rank']=df['amount'].rank(ascending=0, method='min')
print(df)

(3)method='max’時

表示排序時,遇到相同的值時,后面數(shù)的序號與最后出現(xiàn)的數(shù)的序號保持一致,如下圖,843.86值重復(fù)兩次,排名均為10,且排序中沒有序號9(序號不連續(xù))

df['rank']=df['amount'].rank(ascending=0, method='max')
print(df)

(4)method='dense’時

表示排序時,遇到相同的值時,重復(fù)值序號保持一致,如下圖,843.86值重復(fù)兩次,排名均為9,且下一個數(shù)序號為10,序號保持連續(xù)

df['rank']=df['amount'].rank(ascending=0, method='dense')
print(df)

第二種常見排序:組內(nèi)排序 ,將上面數(shù)據(jù)根據(jù)id分組,并按照amount字段進(jìn)行組內(nèi)排序

df['rank']=df['amount'].groupby(df['id']).rank(ascending=0, method='dense')
#對結(jié)果按照id和rank進(jìn)行升序排列
data=df.sort_values(by=['id','rank'],ascending=(1,1))

Python常見排序算法匯總

所謂排序,就是使一串記錄,按照其中的某個或某些關(guān)鍵字的大小,遞增或遞減的排列起來的操作。排序算法,就是如何使得記錄按照要求排列的方法。

排序的穩(wěn)定性

經(jīng)過某種排序后,如果兩個記錄序號同等,且兩者在原無序記錄中的先后秩序依然保持不變,則稱所使用的排序方法是穩(wěn)定的,反之是不穩(wěn)定的。

內(nèi)排序和外排序

  • 內(nèi)排序:排序過程中,待排序的所有記錄全部放在內(nèi)存中
  • 外排序:排序過程中,使用到了外部存儲。

通常討論的都是內(nèi)排序。

影響內(nèi)排序算法性能的三個因素:

  • 時間復(fù)雜度:即時間性能,高效率的排序算法應(yīng)該是具有盡可能少的關(guān)鍵字比較次數(shù)和記錄的移動次數(shù)
  • 空間復(fù)雜度:主要是執(zhí)行算法所需要的輔助空間,越少越好。
  • 算法復(fù)雜性。主要是指代碼的復(fù)雜性。

Python常用排序算法

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • opencv3/C++圖像像素操作詳解

    opencv3/C++圖像像素操作詳解

    今天小編就為大家分享一篇opencv3/C++圖像像素操作詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python安裝numpy&安裝matplotlib& scipy的教程

    python安裝numpy&安裝matplotlib& scipy的教程

    下面小編就為大家?guī)硪黄猵ython安裝numpy&安裝matplotlib& scipy的教程。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • Python實現(xiàn)自動生成請假條

    Python實現(xiàn)自動生成請假條

    這篇文章主要為大家詳細(xì)介紹了如何實現(xiàn)用Python來批量生成請假條,這回既學(xué)了東西又做了事情,兩不誤!感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-12-12
  • Python判斷變量是否是None寫法代碼實例

    Python判斷變量是否是None寫法代碼實例

    這篇文章主要介紹了Python判斷變量是否是None寫法代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • Python3+SQLAlchemy+Sqlite3實現(xiàn)ORM教程

    Python3+SQLAlchemy+Sqlite3實現(xiàn)ORM教程

    這篇文章主要介紹了Python3+SQLAlchemy+Sqlite3實現(xiàn)ORM教程,需要的朋友可以參考下
    2021-02-02
  • Python中OTSU算法的原理與實現(xiàn)詳解

    Python中OTSU算法的原理與實現(xiàn)詳解

    OTSU算法是大津展之提出的閾值分割方法,又叫最大類間方差法,本文主要為大家詳細(xì)介紹了OTSU算法的原理與Python實現(xiàn),感興趣的小伙伴可以了解下
    2023-12-12
  • Python 中的 global 標(biāo)識對變量作用域的影響

    Python 中的 global 標(biāo)識對變量作用域的影響

    global 標(biāo)識用于在函數(shù)內(nèi)部,修改全局變量的值。這篇文章主要介紹了Python 的 global 標(biāo)識對變量作用域的影響,需要的朋友可以參考下
    2019-08-08
  • Python  PYQT界面點擊按鈕隨機變色功能

    Python  PYQT界面點擊按鈕隨機變色功能

    遇到這樣的需求寫一個pyqt界面,要求界面有一個按鈕,每次點擊這個按鈕,就會生成一個10以內(nèi)的隨機數(shù),當(dāng)隨機數(shù)出現(xiàn)的時候,界面底色要變成對應(yīng)的顏色,同時要求隨機數(shù)會在界面中展示出來,并且按鈕和數(shù)字的顏色不會改變,下面給大家分享源代碼,一起看看吧
    2024-08-08
  • Ruby使用eventmachine為HTTP服務(wù)器添加文件下載功能

    Ruby使用eventmachine為HTTP服務(wù)器添加文件下載功能

    這篇文章主要介紹了Ruby使用eventmachine為HTTP服務(wù)器添加文件下載功能的實例,同時作者也分享了Windows上eventmachine安裝報錯問題的解決方法,需要的朋友可以參考下
    2016-04-04
  • python 數(shù)據(jù)分析實現(xiàn)長寬格式的轉(zhuǎn)換

    python 數(shù)據(jù)分析實現(xiàn)長寬格式的轉(zhuǎn)換

    這篇文章主要介紹了python 數(shù)據(jù)分析實現(xiàn)長寬格式的轉(zhuǎn)換,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05

最新評論

临城县| 周口市| 元朗区| 友谊县| 营山县| 华蓥市| 谢通门县| 丹江口市| 德令哈市| 永寿县| 行唐县| 溧阳市| 龙里县| 巴林左旗| 朝阳县| 岐山县| 白河县| 金堂县| 凤翔县| 拉萨市| 涿州市| 江阴市| 安岳县| 东安县| 兴文县| 许昌县| 屏山县| 怀宁县| 防城港市| 温宿县| 城步| 普洱| 米泉市| 石嘴山市| 鹤庆县| 绥滨县| 徐闻县| 宁德市| 新竹县| 玉山县| 东方市|