📅  最后修改于: 2023-12-03 15:03:29.206000             🧑  作者: Mango
在 pandas 中有时候需要对数据进行多级索引,这时就需要对列级别进行切换。本篇文章将介绍 pandas 如何切换列级别。
在开始切换列级别之前,需要先创建多级索引。多级索引可以通过 pd.MultiIndex.from_tuples()
或 pd.MultiIndex.from_arrays()
等方式创建。
import pandas as pd
data = pd.DataFrame({
'A': [1, 2, 3, 4],
'B': [5, 6, 7, 8],
'C': [9, 10, 11, 12],
'D': [13, 14, 15, 16]
})
multi_index = pd.MultiIndex.from_tuples([('G1', 'A1'), ('G1', 'A1'), ('G2', 'A2'), ('G2', 'A2')], names=['Group', 'Alpha'])
data.index = multi_index
print(data)
# Output:
# A B C D
# Group Alpha
# G1 A1 1 5 9 13
# A1 2 6 10 14
# G2 A2 3 7 11 15
# A2 4 8 12 16
对于以上多级索引,如果我们希望将 A, B, C, D
这四列分为两个级别,可以使用 pd.DataFrame.columns
属性进行操作。
data.columns = pd.MultiIndex.from_tuples([('Level1', 'A'), ('Level1', 'B'), ('Level2', 'C'), ('Level2', 'D')])
print(data)
# Output:
# Level1 Level2
# A B C D
# Group Alpha
# G1 A1 1 5 9 13
# A1 2 6 10 14
# G2 A2 3 7 11 15
# A2 4 8 12 16
本篇文章介绍了 pandas 如何进行列级别的切换,需要先创建多级索引,然后通过 pd.DataFrame.columns
属性进行操作。