借助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()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。