pandas中按行或列的值对数据排序的实现

  • Post category:Python

下面是对“pandas中按行或列的值对数据排序的实现”的完整实例教程,包含两个示例的具体步骤说明:

目录

  • 排序方法
  • 按列排序示例
  • 按行排序示例

排序方法

在pandas中,我们可以使用sort_values方法对数据进行排序。该方法在DataFrame和Series中均可使用,可以对单列、多列同时进行排序,并且可以选择升序或降序排列。

sort_values函数的常用参数有:

  • by: 排序的列名(单列或多列,使用列表表示)
  • ascending: 升序或降序排列。

按列排序示例

  1. 首先,我们创建一个DataFrame并打印出来:

“` python
import pandas as pd

data = {
‘name’: [‘John’, ‘David’, ‘Alice’, ‘Eric’, ‘Andy’],
‘age’: [25, 30, 19, 35, 27],
‘country’: [‘USA’, ‘Canada’, ‘USA’, ‘Canada’, ‘USA’]
}
df = pd.DataFrame(data)
print(df)
“`

输出结果如下:

python
name age country
0 John 25 USA
1 David 30 Canada
2 Alice 19 USA
3 Eric 35 Canada
4 Andy 27 USA

  1. 我们可以按照某一列对DataFrame进行排序,并设置升序或降序排列。例如,我们按照age列进行降序排序:

python
df_sorted = df.sort_values(by='age', ascending=False)
print(df_sorted)

输出结果如下:

python
name age country
3 Eric 35 Canada
1 David 30 Canada
4 Andy 27 USA
0 John 25 USA
2 Alice 19 USA

我们发现,DataFrame已经按照age列进行了降序排列。

按行排序示例

  1. 接下来,我们可以创建另一个DataFrame并打印出来:

python
data = {
'name': ['John', 'David', 'Alice', 'Eric', 'Andy'],
'age': [25, 30, 19, 35, 27],
'country': ['USA', 'Canada', 'USA', 'Canada', 'USA']
}
df = pd.DataFrame(data)
print(df)

输出结果如下:

python
name age country
0 John 25 USA
1 David 30 Canada
2 Alice 19 USA
3 Eric 35 Canada
4 Andy 27 USA

  1. 接下来,我们可以使用sort_values方法按照行索引进行排序。例如,我们按照索引号进行升序排列:

python
df_sorted = df.sort_index(ascending=True)
print(df_sorted)

输出结果如下:

python
name age country
0 John 25 USA
1 David 30 Canada
2 Alice 19 USA
3 Eric 35 Canada
4 Andy 27 USA

我们发现,DataFrame已经按照行索引进行了升序排列。

到这里,我们就学会了如何在pandas中按行或列的值对数据进行排序。