Pandas DataFrame.sort()排序详解及示例(13)

作者 : 慕源网 本文共2609个字,预计阅读时间需要7分钟 发布时间: 2021-11-30 共670人阅读

Pandas DataFrame.sort() 介绍

以下文章提供了 Pandas DataFrame.sort() 的概要。排序过程在任何编程语言中都是一个非常关键的概念。无论使用何种编程语言,对处理的数据进行排序的需求始终居高不下。这同样适用于 python pandas 库,pandas 库中的 sort_values() 方法提供了以最灵活的方式对 Pandas 数据结构的值进行排序的能力,并且排序的结果可以被检索并用于进一步优化处理。

本系列是Python Pandas教程的一部分,您可以点击Python Pandas使用教程查看所有。

语法和参数

以下是pandas dataframe.sort() 的语法和参数:

语法:

DataFrame.sort(column=None, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last')

上述语法的参数说明:

参数 描述
column 该参数表示列名值,所以如果需要提及列名,可以在此处提及。在此参数中提及列名意味着数据框将根据此列名值进行排序。在这里,列名可以作为列表甚至元组提及,因此预期排序所基于的列名的列表或元组将作为条目序列提及。换句话说,此列可以表示为“by”列,这意味着按预期进行排序的值。
axis 此参数表示需要对其应用排序函数的列或轴。此参数中指定的值表示数据框中的列、位置或位置。为了实现这种在数据帧上灵活移动的能力,轴值被框定在下面的方法中,{index (0), columns (1)}.这里提到 0 到轴参数的值给出了数据帧中每一行的排序值,而提到数据帧中的 1 值给出了数据帧中所有列的排序值。
ascending 基本上可以通过多种技术实现排序,并且这些技术中的每一种都有自己的能力。因此排序感知可以应用于两种不同的预期结果,即排序必须从低到高发生还是排序必须从高到低发生。所以从低到高意味着上升是所有的结果值都将从最低值开始向最高值前进。另一方面,从高到低是一种从最高值到最低值应用排序的技术,这称为降序。此参数用于确定排序是升序还是降序。这里这个参数被描述为一个布尔值,这意味着可以通过真值或假值来请求该参数的排序类型。这里 true 代表升序,它是默认值。如果预期按降序进行排序,则可以将该值设置为布尔值 false。
inplace 用于判断是否需要在数据所在位置进行操作。所以这意味着排序的结果是否需要保留到应用它的当前数据帧。这又是一个布尔变量,如果将其设置为 true,则排序的更改将应用​​于当前数据帧本身,如果将此参数指定为 false,则不会对当前数据帧应用任何更改。可以使用相等关系将更新的排序数据帧拉入不同的数据帧。
kind 这是一个非常重要的参数,它代表了排序需要使用什么样的技术。有几种技术或方法可以实现排序,这个论点指定了它。这个参数可以包含三个不同的值 {‘quicksort’, ‘mergesort’, ‘heapsort’} 并且 quicksort 是这个参数的默认值。从数据框的角度来看,此参数仅适用于单列的排序。
na_position na_position 参数用于决定 NaN 是必须放在开头还是最后。

Pandas DataFrame.sort() 示例

下面给出了 Pandas DataFrame.sort() 的示例:

示例#1

代码:

import pandas as pd
Core_Series = pd.Series([ 20, 70, 10, 40, 50, 60])
print("   THE CORE SERIES ")
print(Core_Series)
Sorted_series_descending = Core_Series.sort_values(ascending=False)
print("")
print("   THE SORTED SERIES:\n",Sorted_series_descending)

输出:

解释:

  • 这里最初导入了pandas 库,导入的库用于创建series。
  • 该series中的值以这样的方式制定,即它们是 10 到 60 的系列,但该series中的值以混乱的方式进行,不适用任何特定顺序。sort() 方法用于确定已排序的series并将其打印到控制台。
  • 将升序参数设置为 false 会使series按降序进行排序并打印到控制台。

示例#2

代码:

import pandas as pd
Core_Dataframe = pd.DataFrame({'A' :  [ 11, 6, 11, 45, 21, 26],
'B' :  [23, 27, 12, 17, 72, 27],
'C' :  [34, 8, 13, 148, 83, 28],
'D' :  [14, 9, 4, 19, 24, 29],
'E' :  [5, 10, 15, 20, 25, 30]})
print("   THE CORE DATAFRAME ")
print(Core_Dataframe,'\n')
Core_Dataframe_sorted_inplace = Core_Dataframe.sort_values(by=['A','B','C','D','E'],inplace=True)
print("   UPDATED DATAFRAME:",Core_Dataframe_sorted_inplace,'\n')
print("   CORE DATAFRAME SORTED ASCENDING: \n",Core_Dataframe,'\n')
Core_Dataframe.sort_values(by=['A','B','C','D','E'],inplace=True,ascending=False)
print("   CORE DATAFRAME SORTED DESCENDING: \n",Core_Dataframe)

输出:

解释:

  • 这里最初导入了pandas 库,导入的库用于创建形状为(6,6) 的数据框。
  • 数据框中的所有列都分配有按字母顺序排列的标题。数据帧中的值以这样的方式制定,即它们是 1 到 n 的混乱series。
  • 这里创建的数据框被称为核心数据框。数据框使用 inplace = true 排序,首先按升序排序,然后按降序排序,两个结果都打印到控制台。

总结

这是 Pandas DataFrame.sort() 的指南。这里我们分别讨论 Pandas DataFrame.sort() 的介绍和示例。每种编程语言都需要几种有效的排序技术,而 Pandas 库以最优化的方式提供了这种能力。


慕源网 » Pandas DataFrame.sort()排序详解及示例(13)

常见问题FAQ

程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!

发表评论

开通VIP 享更多特权,建议使用QQ登录