要实现按照多列排序,可以使用pandas的sort_values函数。sort_values函数可以灵活地按照指定列排序,并且可以逆序排序。
sort_values函数的语法格式为:
dataframe.sort_values(by, axis=0, ascending=True, inplace=False)
参数说明:
- by:要排序的列名或者列名的列表
- axis:排序时的轴,0表示按照行排序,1表示按照列排序
- ascending:是否升序排列,默认为True,即升序排列。为False时,表示降序排列
- inplace:是否在原dataframe上排序,默认为False,即不在原dataframe上排序,而是返回一个新的已排序的dataframe
示例一:
import pandas as pd
# 创建一个简单的dataframe
data = {'name':['Tom','Bob','Lucy','John','Tom'],
'age':[20,25,30,35,40],
'height':[175,180,168,180,175]}
df = pd.DataFrame(data)
# 按照两列排序:age和height,age升序,height升序
df_sorted = df.sort_values(by=['age','height'], ascending=[True, True])
print(df_sorted)
输出结果:
name age height
0 Tom 20 175
1 Bob 25 180
2 Lucy 30 168
3 John 35 180
4 Tom 40 175
示例二:
import pandas as pd
# 创建一个简单的dataframe
data = {'name':['Tom','Bob','Lucy','John','Tom'],
'age':[20,25,30,35,40],
'height':[175,180,168,180,175]}
df = pd.DataFrame(data)
# 按照两列排序:age和height,age降序,height升序
df_sorted = df.sort_values(by=['age','height'], ascending=[False, True])
print(df_sorted)
输出结果:
name age height
4 Tom 40 175
3 John 35 180
2 Lucy 30 168
1 Bob 25 180
0 Tom 20 175
通过这两个示例,我们可以看出sort_values函数的灵活性,可以根据实际需要来确定排序的列和排序的方式,方便实现按照多列排序的需求。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pandas实现按照多列排序-ascending - Python技术站