将 Pandas 的索引转换为多级索引(层次索引)
在本文中,我们将介绍如何将 Pandas 数据框的普通索引转换为多级索引,也称为层次索引。
阅读更多:Pandas 教程
什么是多级索引
多级索引是指由两个或多个列组成的索引,这些列具有层次结构。在 Pandas 中,多级索引可以是行索引或者列索引。多级行索引表示每个行是由多个层次结构的特征组成的,多级列索引表示每一列由两个或者多个级别的数据组成。
例如,下面是一个由两个层级组成的多级索引:
Age
Gender Female Male
Name
Alice 25 20
Bob 30 40
Charlie 35 50
将索引转换为多级索引
Pandas 中有两种方法将普通索引转换为多级索引:set_index() 和 pivot()。
set_index()
set_index() 将一列或多列作为索引,生成新的索引数据帧。可以将多个列作为参数传递,这些列将变成从最高层开始一个接一个的层级。下面是一个示例:
import pandas as pd
df = pd.read_csv('example.csv')
df = df.set_index(['Gender', 'Name'])
上面的代码首先从 CSV 文件中读取数据帧,然后将 ‘Gender’ 和 ‘Name’ 列设置为多级索引。
pivot()
pivot() 将一列数据转换为多列数据,每一列将作为一个层级。可以将多个列作为参数传递,它们将变成从最高层开始一个接一个的层级。下面是一个示例:
import pandas as pd
df = pd.read_csv('example.csv')
df = df.pivot(index='Gender', columns='Name', values='Age')
上面的代码首先从 CSV 文件中读取数据帧,然后将 ‘Name’ 列转换为列索引,并将 ‘Gender’ 列转换为行索引。
总结
本文介绍了如何将 Pandas 数据框的索引转换为多级索引,以及 set_index() 和 pivot() 方法的使用。通过这些方法,可以更好地组织和分析数据,减少冗余信息,并改进数据的可读性和可视化效果。