📌  相关文章
📜  如何按索引和列对 Pandas DataFrame 进行排序?(1)

📅  最后修改于: 2023-12-03 14:53:07.388000             🧑  作者: Mango

如何按索引和列对 Pandas DataFrame 进行排序?

Pandas 是一个流行的开源数据分析和处理库,提供了强大的数据结构和数据分析工具。它的核心数据结构是 DataFrame,它是一个二维标记数组,可以包含不同类型的数据。

在 Pandas 中,我们可以使用 sort_index()sort_values() 方法对 DataFrame 进行排序。sort_index() 方法可以通过索引进行排序,而 sort_values() 方法可以按照指定的列进行排序。下面将详细介绍如何按照索引和列对 Pandas DataFrame 进行排序。

按索引排序

要按索引对 DataFrame 进行排序,可以使用 sort_index() 方法。该方法根据索引对 DataFrame 进行升序或降序排序。

以下是按升序排序索引的示例代码:

import pandas as pd

# 创建一个示例 DataFrame
data = {'A': [4, 2, 1],
        'B': [6, 5, 3]}
df = pd.DataFrame(data, index=['c', 'a', 'b'])

# 按索引进行升序排序
df_sorted = df.sort_index()

print(df_sorted)

输出结果:

   A  B
a  2  5
b  1  3
c  4  6

要按降序排序索引,可以将 ascending 参数设置为 False

import pandas as pd

# 创建一个示例 DataFrame
data = {'A': [4, 2, 1],
        'B': [6, 5, 3]}
df = pd.DataFrame(data, index=['c', 'a', 'b'])

# 按索引进行降序排序
df_sorted = df.sort_index(ascending=False)

print(df_sorted)

输出结果:

   A  B
c  4  6
b  1  3
a  2  5
按列排序

要按列对 DataFrame 进行排序,可以使用 sort_values() 方法。该方法根据指定的列对 DataFrame 进行升序或降序排序。

以下是按升序排序列的示例代码:

import pandas as pd

# 创建一个示例 DataFrame
data = {'A': [4, 2, 1],
        'B': [6, 5, 3]}
df = pd.DataFrame(data, index=['c', 'a', 'b'])

# 按列 'A' 进行升序排序
df_sorted = df.sort_values(by='A')

print(df_sorted)

输出结果:

   A  B
b  1  3
a  2  5
c  4  6

要按降序排序列,可以将 ascending 参数设置为 False

import pandas as pd

# 创建一个示例 DataFrame
data = {'A': [4, 2, 1],
        'B': [6, 5, 3]}
df = pd.DataFrame(data, index=['c', 'a', 'b'])

# 按列 'A' 进行降序排序
df_sorted = df.sort_values(by='A', ascending=False)

print(df_sorted)

输出结果:

   A  B
c  4  6
a  2  5
b  1  3
按多列排序

使用 sort_values() 方法还可以按多列对 DataFrame 进行排序。只需提供多个列名的列表作为 by 参数即可。

以下是按多列进行排序的示例代码:

import pandas as pd

# 创建一个示例 DataFrame
data = {'A': [4, 2, 1, 3],
        'B': [6, 5, 3, 4],
        'C': [9, 8, 7, 6]}
df = pd.DataFrame(data)

# 按列 'A' 和 'B' 进行升序排序
df_sorted = df.sort_values(by=['A', 'B'])

print(df_sorted)

输出结果:

   A  B  C
2  1  3  7
1  2  5  8
3  3  4  6
0  4  6  9

以上就是按照索引和列对 Pandas DataFrame 进行排序的方法。通过 sort_index()sort_values() 方法,可以方便地对数据进行排序,以满足分析和处理的需求。