按两列或多列对Pandas数据框架进行排序

按两列或多列对Pandas数据框架进行排序

在这篇文章中,我们的基本任务是根据两列或多列对数据框进行排序。为此,我们使用了Dataframe.sort_values()方法。该方法根据函数中传递的列,以升序或降序对数据框进行排序。

首先,我们来创建一个数据框架。

#import python library
import pandas as pd
  
# dictionary
data_frame = {
       'name': ['Akash Kumar', 'Diksha Tewari',
                'Bhawna Gourh', 'Ayush Sharma'],
        'age': [20, 21, 22, 23],
        'favorite_color': ['black', 'Yellow', 
                           'Pink', "Orange"],
        'grade': [88, 92, 95, 70]
}
  
# create data frame with indexing
df = pd.DataFrame(data_frame, 
                  index = [1, 2, 3, 4])
  
# printing the dataframe
df
Python

输出:

按两列或多列对Pandas数据框架进行排序

例子1:根据 “年龄”(降序)和 “年级”(升序)列对数据框架进行排序。

# sort the dataframe
# based on age and grade
df.sort_values(['age', 'grade'],
              ascending = [False, True])
Python

输出:

按两列或多列对Pandas数据框架进行排序

示例2:根据 “姓名 “和 “最喜欢的颜色 “列以升序对数据框架进行排序。

# sort the dataframe based 
# on name and favorite_colr
df.sort_values(['name', 'favorite_color'], 
               ascending=[True,
                          True])
Python

输出:

按两列或多列对Pandas数据框架进行排序

示例3:基于 “等级 “和 “最喜欢的颜色 “列的数据框架的就地排序。在就地排序的情况下,Dataframe.sort_values()方法不返回任何东西,它在实际的数据框架中执行变化。

df.sort_values(["grade", "favorite_color"], 
               axis = 0, ascending = True, 
               inplace = True,
               na_position ='first')
  
# printing the dataframe
df
Python

输出:

按两列或多列对Pandas数据框架进行排序

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册