亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python怎么實現排序并標上序號

發布時間:2022-06-10 14:04:31 來源:億速云 閱讀:501 作者:iii 欄目:開發技術

本篇內容主要講解“python怎么實現排序并標上序號”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“python怎么實現排序并標上序號”吧!

python排序并標上序號

需求:利用python實現排序功能

測試數據: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"

第一種常見排序: 將上面數據按照amount字段進行排序

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:此參數的作用是,當遇到兩個值相同時,排序處理的方式。可以取的值有 first、max、min、dense

(1)method =‘first’ 時

表示排序時,序號不會重復且是連續的,遇到相同的值時,會按照數據的先后順序標序號,如下圖:

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

python怎么實現排序并標上序號

(2)method='min’時

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

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

python怎么實現排序并標上序號

(3)method='max’時

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

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

python怎么實現排序并標上序號

(4)method='dense’時

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

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

python怎么實現排序并標上序號

第二種常見排序:組內排序 ,將上面數據根據id分組,并按照amount字段進行組內排序

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

python怎么實現排序并標上序號

Python常見排序算法匯總

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

排序的穩定性

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

內排序和外排序

  • 內排序:排序過程中,待排序的所有記錄全部放在內存中

  • 外排序:排序過程中,使用到了外部存儲。

通常討論的都是內排序。

影響內排序算法性能的三個因素:

  • 時間復雜度:即時間性能,高效率的排序算法應該是具有盡可能少的關鍵字比較次數和記錄的移動次數

  • 空間復雜度:主要是執行算法所需要的輔助空間,越少越好。

  • 算法復雜性。主要是指代碼的復雜性。

Python常用排序算法

python怎么實現排序并標上序號

到此,相信大家對“python怎么實現排序并標上序號”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

建德市| 鸡西市| 灵璧县| 噶尔县| 汉寿县| 咸宁市| 新化县| 卫辉市| 赤水市| 江山市| 海伦市| 房产| 苏尼特右旗| 德昌县| 卢龙县| 株洲市| 迁西县| 康定县| 金寨县| 龙南县| 崇信县| 江安县| 鹤岗市| 洛南县| 盘锦市| 阜康市| 体育| 凉山| 平罗县| 万全县| 剑川县| 洪雅县| 万源市| 兴化市| 五原县| 和静县| 麻江县| 青田县| 富川| 铜梁县| 无为县|