Python| Pandas Dataframe.sort_values() |第一组
Python是一种用于进行数据分析的出色语言,主要是因为以数据为中心的Python包的奇妙生态系统。 Pandas就是其中之一,它使导入和分析数据变得更加容易。
Pandas sort_values()函数按传递的列的升序或降序对数据框进行排序。它与 sorted Python函数不同,因为它无法对数据框进行排序并且无法选择特定列。
我们来讨论Dataframe.sort_values()单参数排序:
句法:
DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind=’quicksort’, na_position=’last’)
每个参数都有一些默认值,除了 'by' 参数。
参数:
by: Single/List of column names to sort Data Frame by.
axis: 0 or ‘index’ for rows and 1 or ‘columns’ for Column.
ascending: Boolean value which sorts Data frame in ascending order if True.
inplace: Boolean value. Makes the changes in passed data frame itself if True.
kind: String which can have three inputs(‘quicksort’, ‘mergesort’ or ‘heapsort’) of algorithm used to sort data frame.
na_position: Takes two string input ‘last’ or ‘first’ to set position of Null values. Default is ‘last’.
返回类型:
Returns a sorted Data Frame with Same dimensions as of the function caller Data Frame.
有关代码中使用的 CSV 文件的链接,请单击此处。
示例 #1:按名称排序
在以下示例中,数据框由 csv 文件制成,数据框按玩家姓名的升序排序。
分拣前——
Python
# importing pandas package
import pandas as pd
# making data frame from csv file
data = pd.read_csv("nba.csv")
# display
data
Python
# importing pandas package
import pandas as pd
# making data frame from csv file
data = pd.read_csv("nba.csv")
# sorting data frame by name
data.sort_values("Name", axis = 0, ascending = True,
inplace = True, na_position ='last')
# display
data
Python
# importing pandas package
import pandas as pd
# making data frame from csv file
data = pd.read_csv("nba.csv")
# sorting data frame by name
data.sort_values("Salary", axis = 0, ascending = True,
inplace = True, na_position ='first')
data
# display
输出:
排序后——
Python
# importing pandas package
import pandas as pd
# making data frame from csv file
data = pd.read_csv("nba.csv")
# sorting data frame by name
data.sort_values("Name", axis = 0, ascending = True,
inplace = True, na_position ='last')
# display
data
如图所示,索引列现在是混乱的,因为数据框是按名称排序的。
输出:
示例 #2:更改 Null 值的位置
在给定的数据中,不同的列中有许多空值,默认情况下放在最后。在此示例中,数据框根据 Salary 列进行排序,Null 值保留在顶部。
Python
# importing pandas package
import pandas as pd
# making data frame from csv file
data = pd.read_csv("nba.csv")
# sorting data frame by name
data.sort_values("Salary", axis = 0, ascending = True,
inplace = True, na_position ='first')
data
# display
如输出图像所示,NaN 值位于顶部,然后是 Salary 的排序值。
输出: