标签:Python与Excel,pandas
表排序是Excel中的一项常见任务。我们对表格进行排序,以帮助更容易地查看或使用数据。然而,当你的数据很大或包含大量计算时,Excel中的排序可能会非常慢。因此,这里将向你展示如何使用Python对Excel数据表进行排序,并保证速度和效率!
准备用于演示的数据框架
由于我们使用Python处理Excel文件中的数据,几乎在默认情况下,我们都将使用pandas库。我们会加载一个示例Excel文件(可到知识星球完美Excel社群中下载),文件中有4列,分别为ID、顾客、购买物品和日期。
图1
pandas排序方法
pandas有两种主要的排序方法。
.sort_index()
主要用于按索引或列排序。
有几点值得注意:
.sort_values()
主要用于按任意列排序。
这些参数类似于.sort_index()方法,只是我们现在可以指定作为排序依据的列:
按列对表排序
有时我们希望按一定的顺序(字母顺序、增加/减少等)显示列,可以使用.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。