📜  pandas 切换列级别 - Python (1)

📅  最后修改于: 2023-12-03 15:03:29.206000             🧑  作者: Mango

利用 pandas 切换列级别

在 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 属性进行操作。