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 中强大的工具,可以处理复杂的数据集和数据操作。
相关文章