借助Pandas Series.argsort(),可以對 Pandas 中的係列元素進行排序。但是,pandas係列中的主要內容是我們將輸出作為係列中已排序元素的索引值來獲取。在後麵的代碼演示中,我們將說明如何獲取已排序索引值的輸出。
用法: pandas.Series.argsort(axis=0, kind=’quicksort’, order=None)
參數:
axis:對於numpy很有用。
kind:{'mergesort','quicksort','heapsort'},默認的'quicksort'
order:對於numpy很有用。
返回:argsorted係列,用-1表示存在nan值的位置
要獲取csv文件的鏈接,請單擊nba.csv
代碼1:
在這段代碼中,您將看到我們使用一些簡單的整數值序列,並嘗試基於不同的排序算法方法(例如quicksort,mergesort和heapsort)進行排序,但是默認情況下它將假定為quicksort。讓我們看下麵的代碼和以下輸出。
# importing pandas
import pandas as pd
# reading the csv
data = pd.read_csv("nba.csv")
data.dropna(inplace = True)
# creating series form weight column
g = pd.Series(data['Weight'].head())
print(g)
gfg = g.argsort(axis = 0, kind ='quicksort', order = None)
print(gfg)
輸出:
0 180.0 1 235.0 3 185.0 6 235.0 7 238.0 Name:Weight, dtype:float64 0 0 1 2 3 1 6 3 7 4 Name:Weight, dtype:int64
正如您在輸出中看到的那樣,為什麽我們沒有獲得這些排序的值而不是連續獲取排序的值,這看起來很奇怪。這是主要的概念Series.argsort()
方法,它首先返回數量最小的索引值,最後返回最大值的索引值。由於我們有1個是最小的數字,並且它的索引值為4個,因此第4個將首先出現,並且此概念如下所示。
代碼2:
# importing pandas
import pandas as pd
# reading the csv
data = pd.read_csv("nba.csv")
data.dropna(inplace = True)
# creating series form weight column
g = pd.Series(data['Weight'].head())
print(g)
gfg = g.argsort(axis = 0, kind ='mergesort', order = None)
print(gfg)
輸出:
0 180.0 1 235.0 3 185.0 6 235.0 7 238.0 Name:Weight, dtype:float64 0 0 1 2 3 1 6 3 7 4 Name:Weight, dtype:int64
代碼3:
# importing pandas
import pandas as pd
# reading the csv
data = pd.read_csv("nba.csv")
data.dropna(inplace = True)
# creating series form weight column
g = pd.Series(data['Weight'].head())
print(g)
gfg = g.argsort(axis = 0, kind ='heapsort', order = None)
print(gfg)
輸出:
0 180.0 1 235.0 3 185.0 6 235.0 7 238.0 Name:Weight, dtype:float64 0 0 1 2 3 1 6 3 7 4 Name:Weight, dtype:int64
缺少值時輸出是什麽?
如上文所述,如果要處理缺失值,則將其設置為None代替None。
import pandas as pd
# importing pandas
import pandas as pd
# reading the csv
data = pd.read_csv("nba.csv")
# creating series form weight column
g = pd.Series(data['Weight'])
print(g)
gfg = g.argsort(axis = 0, kind ='mergesort', order = None)
print(gfg)
輸出:
450 226.0 451 206.0 452 234.0 453 203.0 454 179.0 455 256.0 456 231.0 457 NaN Name:Weight, Length:458, dtype:float64 450 237 451 41 452 188 453 395 454 330 455 302 456 405 457 -1 Name:Weight, Length:458, dtype:int64
相關用法
- Python pandas.map()用法及代碼示例
- Python Pandas Series.str.len()用法及代碼示例
- Python Pandas.factorize()用法及代碼示例
- Python Pandas TimedeltaIndex.name用法及代碼示例
- Python Pandas dataframe.ne()用法及代碼示例
- Python Pandas Series.between()用法及代碼示例
- Python Pandas DataFrame.where()用法及代碼示例
- Python Pandas Series.add()用法及代碼示例
- Python Pandas.pivot_table()用法及代碼示例
- Python Pandas Series.mod()用法及代碼示例
- Python Pandas Dataframe.at[ ]用法及代碼示例
- Python Pandas Dataframe.iat[ ]用法及代碼示例
- Python Pandas.pivot()用法及代碼示例
- Python Pandas dataframe.mul()用法及代碼示例
- Python Pandas.melt()用法及代碼示例
注:本文由純淨天空篩選整理自Jitender_1998大神的英文原創作品 Python | Pandas Series.argsort()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。