zl程序教程

您现在的位置是:首页 >  后端

当前栏目

使用Python对Excel数据进行排序,更高效!

PythonExcel排序数据 使用 高效 进行
2023-06-13 09:15:12 时间

标签:Python与Excel,pandas

表排序是Excel中的一项常见任务。我们对表格进行排序,以帮助更容易地查看或使用数据。然而,当你的数据很大或包含大量计算时,Excel中的排序可能会非常慢。因此,这里将向你展示如何使用Python对Excel数据表进行排序,并保证速度和效率!

准备用于演示的数据框架

由于我们使用Python处理Excel文件中的数据,几乎在默认情况下,我们都将使用pandas库。我们会加载一个示例Excel文件(可到知识星球完美Excel社群中下载),文件中有4列,分别为ID、顾客、购买物品和日期。

图1

pandas排序方法

pandas有两种主要的排序方法。

.sort_index()

主要用于按索引或列排序。

有几点值得注意:

  • axis:0表示按索引排序,1表示按列排序。默认值为0。
  • ascending:True表示按升序排序,False表示按降序排序。
  • inplace:如果为True,则生成的数据框架将替换原始数据框架,默认值为False。

.sort_values()

主要用于按任意列排序。

这些参数类似于.sort_index()方法,只是我们现在可以指定作为排序依据的列:

  • by:要排序的列。可以获取字符串或字符串列表。
  • 其他参数同上述方法。

按列对表排序

有时我们希望按一定的顺序(字母顺序、增加/减少等)显示列,可以使用.sort_index()方法,指定参数axis=1。注意下面的输出,现在表按列名以字母顺序排序。但是,注意,由于默认情况下inplace=False,此结果数据框架不会替换原始df。

图2

按索引对表排序

我们还可以按升序或降序对表进行排序。

图3

按指定列排序

我们已经看到了如何按索引排序,现在让我们看看如何按单个列排序。让我们按购买日期对表格进行排序。默认情况下,使用升序,因此我们将看到较早的日期排在第一位。当然,我们可以通过指定ascending=False来反转该表。

图4

按多列排序

我们还可以按多列排序。在下面的示例中,首先对顾客的姓名进行排序,然后在每名顾客中再次对“购买物品”进行排序。例如,对Harry Porter来说,”Ghost in the Shell”排在“Kill la Kill”之前,因为字母G在字母K之前。

图5

注:本文学习整理自pythoninoffice.ccom。