Pandas 如何根据列名或行索引对DataFrame进行排序

Pandas 如何根据列名或行索引对DataFrame进行排序

许多应用程序可以通过列名或行索引对pandas DataFrame进行排序以获得好处。例如,为了展示销售如何随时间变化,我们可以通过日期对销售数据的DataFrame进行排序。在Python中,我们有一些内置函数- DataFrame(),sort_index()和sort_values(),可以用来根据列名或行索引对Pandas DataFrame进行排序。

语法

以下是示例中使用的语法-

DataFrame(var_name, colums= ['col1', 'col2', and so on], index= ['1', '2', and so on])

DataFrame 是 pandas 模块的一个类,用于定义不同行和列的二维结构。

sort_index()

sort_index是通过索引标签对系列进行排序。该方法以升序和降序的方式对pandas数据框进行排序。

sort_index(axis = 1)

这个sort_index函数接受一个名为axis = 1的参数来对列进行排序。换句话说,我们可以说axis = 1指定了列。

sort_values(by=["col1","col2","col3"])

sort_value方法是通过对项或系列按升序排序来定义的。上面的表示方式接受三个列作为参数来对它们的项或系列进行排序。

sort_values(by=["row1","row2","row2"])

上述表示接受三行来按照列表数据类型的技术进行排序。

示例1

在下面的示例中,我们将通过导入名为pandas的模块来启动程序。将其对象引用命名为pd。然后使用列表推导式创建员工数据并将其存储在变量Emp中。然后使用列和行的列表元组创建DataFrame对象并将其存储在变量info中。接下来,提及变量info并获取数据的表格结构。

import pandas as pd
# List of Tuples
Emp = [('Arun', 24, 'Uttrakhand', 'Tester', 'Male'),
   ('Shyam', 23, 'West Bengal', 'SDE-1', 'Male'),
   ('Raghav', 37, 'Maharastra', 'SDE-3', 'Male'),
   ('Jayanti', 29, 'Kerala', 'Customer Support','Female')]
# Dataframe object from list of tuples using column and index
info = pd.DataFrame(Emp, columns =['Name', 'Age',
   'Place', 'Designation','Gender'],
   index =[ '105', '109', '110', '104'])
# Show the dataframe
info

输出

Pandas 如何根据列名或行索引对DataFrame进行排序

示例2

在下面的示例中, 下面的代码按照代码的顺序使用下一个终端进行排序。 然后使用内置方法sort_index()将行按升序排序并将其存储在变量sort_idx中。最后,使用变量sort_idx根据给定的代码获取处理过的数据。

# sort the index row
sort_idx = info.sort_index()
sort_idx

输出

Pandas 如何根据列名或行索引对DataFrame进行排序

示例3

下面的示例中, 下面的代码按照上面的代码顺序使用下一个终端。 在这里,我们将根据列排序实现程序。然后导入pandas启动程序(不一定需要)。接下来,使用内置方法sort_index()将列按升序排序。然后只需编写名为sort_col的变量,以以另一种形式获取结果。

# sort the column
import pandas as pd
sort_col = info.sort_index(axis = 1)
sort_col

输出

Pandas 如何根据列名或行索引对DataFrame进行排序

示例4

在以下示例中,首先导入名为pandas的模块,并将其对象引用设置为pd。然后使用字典数据类型将X、Y和Z这三列设置为col变量中的存储对象。接下来,使用pandas模块的DataFrame,并将其存储在名为df的新变量中。现在使用内置的sort_values方法对行进行排序,按照升序排序并将其存储在sorted_df变量中。然后只需写入sorted_df以获得表格输出作为结果。

# Sort DataFrame rows based on multiple columns
import pandas as pd

# create the dictionary
col = {"X" : [40, 10, 60, 20], "Y":[11, 48, 92, 16], "Z":[32,1,26,5]}
df = pd.DataFrame(col)

#Mention the row for sorting
sorted_df=df.sort_values(by=["X","Y","Z"])
sorted_df

输出

Pandas 如何根据列名或行索引对DataFrame进行排序

示例5

在下面的示例中,通过导入名为pandas的模块来启动程序。以pd为对象引用,后续将在内置方法sort_values中使用它。然后创建一个列表,其中包含名为P,Q和R的三个不同行项的数据,并将其存储在变量list1中。接下来,使用pandas模块的DataFrame来接受两个参数- list1(用于使用数据的先前变量名称)和index(此参数使用内置方法list设置所有列的值)。继续使用名为sort_values的内置方法来接受以下参数-nbsp;-

by = [‘P’,’Q’,’R’]:关键字by设置行的数量,即P,Q和R。

axis = 1:识别列。

最后,通过变量sorted_row打印结果。

# Sort Dataframe based on multiple rows
import pandas as pd
list1 = [(5,40,3,2),(11,4,12,6),(13,91,16,5)]
df = pd.DataFrame(list1, index=list('PQR'))
sorted_row = df.sort_values(by=['P','Q','R'],axis=1)
sorted_row

输出

Pandas 如何根据列名或行索引对DataFrame进行排序

结论

我们讨论了使用Pandas Dataframe对列名或行索引进行排序的不同方法。第一个示例解释了行和列的简单表格结构,而第二个和第三个示例按顺序完成了数据集的有意义的表示。第四个示例使用字典技术来创建多列的数据,而第五个示例使用列表数据类型来创建多行的数据,并生成了不同的输出结果。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程