如何在Python中对CSV进行多列排序

如何在Python中对CSV进行多列排序

在这篇文章中,我们将讨论如何按多列对CSV文件进行排序。首先,我们将把CSV文件转换成一个数据框,然后使用sort_values()方法对该数据框进行排序。

语法:

DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last')
Python

返回类型: 返回一个排序的数据框,其尺寸与函数调用者的数据框相同。

在将CSV文件转换为数据框架后,我们需要在sort_values()方法中添加CSV文件的两个或多个列名作为by参数,axis线分配为0,如下所示。

sort_values(column1, column2’…’columnn, axis=0) 
Python

使用中的CSV文件:

如何在Python中对CSV进行多列排序?

下面是一些例子,描述了如何对CSV文件进行多列排序。

示例 1:

在下面的程序中,我们首先将CSV文件转换为一个数据框架,然后按单列升序对数据框架进行排序。

# importing pandas package
import pandas as pd
  
# making data frame from csv file
data = pd.read_csv("diamonds.csv")
  
# sorting data frame by a column
data.sort_values("carat", axis=0, ascending=True,
                 inplace=True, na_position='first')
  
# display
data.head(10)
Python

输出:

如何在Python中对CSV进行多列排序?

示例 2:

这里,转换为数据框架后,CSV文件按多列排序,深度列先按升序排序,然后表列按每个深度的升序排序。

# importing pandas package
import pandas as pd
  
# making data frame from csv file
data = pd.read_csv("diamonds.csv")
  
# sorting data frame by multiple columns
data.sort_values(["depth", "table"], axis=0,
                 ascending=True, inplace=True)
  
# display
data.head(10)
Python

输出:

如何在Python中对CSV进行多列排序?

示例 3:

在下面的例子中,CSV文件按深度降序排序,然后按每个深度的表升序排序。

# importing pandas package
import pandas as pd
  
# making data frame from csv file
data = pd.read_csv("diamonds.csv")
  
# sorting data frame by multiple columns
data.sort_values(["depth", "table"], axis=0,
                 ascending=[False, True], inplace=True)
  
# display
data.head(10)
Python

输出:

如何在Python中对CSV进行多列排序?

示例 4:

下面是另一个例子,CSV文件是按多列排序的。

# importing pandas package
import pandas as pd
  
# making data frame from csv file
data = pd.read_csv("diamonds.csv")
  
# sorting data frame by multiple columns
data.sort_values(["depth", "table", "carat"], axis=0,
                 ascending=[False, True, False], inplace=True)
  
# display
data.head(10)
Python

输出:

如何在Python中对CSV进行多列排序?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册