Pandas中的多重索引(MultiIndex)

2023-02-24 00:00:00 pandas 索引 MultiIndex

在 pandas 中,MultiIndex(多重索引)是一种用于在 DataFrame 中处理具有多个级别的索引的方法。可以使用 pd.MultiIndex.from_arrays()、pd.MultiIndex.from_tuples() 或 pd.MultiIndex.from_product() 等函数创建 MultiIndex。

以下是使用 pd.MultiIndex.from_arrays() 函数创建 MultiIndex 的示例代码:

import pandas as pd

# 创建一个包含多个级别的索引
index = pd.MultiIndex.from_arrays([['A', 'A', 'B', 'B'], [1, 2, 1, 2]], names=['Group', 'Num'])

# 创建一个 DataFrame
data = {'Value': [1, 2, 3, 4]}
df = pd.DataFrame(data, index=index)

print(df)

输出结果如下:

           Value
Group Num       
A     1        1
      2        2
B     1        3
      2        4

在上面的示例代码中,pd.MultiIndex.from_arrays() 函数使用包含两个元素的列表创建 MultiIndex,每个元素表示一个级别。这里创建了一个包含两个级别的 MultiIndex,第一个级别是 Group,第二个级别是 Num。

然后,将创建的 MultiIndex 作为 DataFrame 的索引,并将数据 {'Value': [1, 2, 3, 4]} 分配给 DataFrame 的列。

MultiIndex 使得可以使用多个级别进行选择和操作。例如,以下代码选择第一级别为 A 的所有行:

print(df.loc['A'])

输出结果如下:

     Value
Num       
1        1
2        2

还可以使用多个级别进行排序、过滤和分组等操作。多重索引是 pandas 中强大的工具,可以处理复杂的数据集和数据操作。

相关文章