使用sort_values函数进行数据框排序

发布时间:2023-05-18

一、sort_values函数简介

sort_values是Pandas库中的一个用来对数据框进行排序的函数。sort_values函数常用于处理表格型数据,可以根据指定的列或索引排序,支持升序和降序排列。

# sort_values函数的基本使用方法
import pandas as pd
df = pd.DataFrame({'name':['Tom','John','Jess','Mike'],
                   'age':[25,20,37,28],
                   'gender':['M','M','F','M']})
# 根据name列排序
sorted_df = df.sort_values(by='name')

二、sort_values函数的参数

sort_values函数包含多个参数,下面介绍一下常用的参数:

  1. by: 用来指定排序的列名或索引,可以是单个字符串或者字符串列表。
  2. ascending: 用来指定升序或降序排列,默认为升序。
  3. inplace: 是否在原数据框上进行修改,默认为False。
  4. na_position: 指定缺失值的排列顺序,可以选择'last'或'first'。
# sort_values函数的常用参数的示例
# 根据年龄进行降序排列
sorted_by_age_df = df.sort_values(by='age', ascending=False)
# 根据两个列进行排序
sorted_by_age_and_name_df = df.sort_values(by=['age', 'name'])
# 在原数据框上进行修改
df.sort_values(by='age', inplace=True)
# 缺失值排在最前面
sorted_by_name_df = df.sort_values(by='name', na_position='first')

三、sort_values实战应用

1. 根据列排序

假设我们有一个包含不同城市的人口数据的数据框,我们想根据人口数量来进行降序排列。

import pandas as pd
# 创建一个包含不同城市人口数量的数据框
cities = pd.DataFrame({'City':['Shanghai','Beijing','Guangzhou','Shenzhen','Tianjin'],
                       'Population':[24150000,21700000,14040000,12530000,12400000]})
# 将数据框按人口数量进行降序排列
sorted_cities = cities.sort_values(by='Population', ascending=False)

2. 处理缺失值

假设我们有一个包含无序电影的数据集,我们想要按照电影的发布时间从早到晚排序,但是有一些电影的发布时间缺失。在这种情况下,我们可以使用na_position参数将缺失值排在最前面或最后面。

import pandas as pd
# 创建一个包含电影名称和发布时间的数据框
movies = pd.DataFrame({'Movie':['The Shawshank Redemption','The Godfather','The Dark Knight','The Godfather: Part II','Pulp Fiction','12 Angry Men'],
                      'Year':[1994,1972,2008,None,1994,1957]})
# 缺失值排在最前面
sorted_movies = movies.sort_values(by='Year', na_position='first')

3. 根据索引排序

除了根据列排序外,我们还可以根据索引进行排序。假设我们有一个包含学生考试成绩的数据集,我们想把成绩按升序排列,然后按照索引值重新排序。

import pandas as pd
# 创建一个包含学生考试成绩的数据框
grades = pd.DataFrame({'Math':[85,98,74,82],
                      'English':[92,78,88,97],
                      'Science':[88,94,90,86]})
# 按照数学成绩进行升序排列,并按照索引重新排序
sorted_grades = grades.sort_values(by='Math').reset_index(drop=True)

四、总结

sort_values函数是Pandas的一个重要函数,能够方便地对数据框进行排序并处理缺失值。通过本文的介绍,相信大家已经掌握了sort_values函数的基本使用方法和相关参数的含义,希望能够对大家在数据处理中的实际应用有所帮助。