下面是一个示例代码,展示了如何创建和使用部分融化的分层索引:
import pandas as pd
# 创建示例数据框
data = {
'A': ['foo', 'foo', 'foo', 'foo', 'bar', 'bar', 'bar', 'bar', 'bar'],
'B': ['one', 'one', 'one', 'two', 'two', 'two', 'two', 'one', 'one'],
'C': ['x', 'y', 'x', 'y', 'x', 'y', 'x', 'y', 'x'],
'D': [1, 2, 3, 4, 5, 6, 7, 8, 9]
}
df = pd.DataFrame(data)
# 创建部分融化的分层索引
melted = pd.melt(df, id_vars=['A', 'B'], value_vars=['C', 'D'], var_name='Var', value_name='Val')
# 输出融化后的结果
print(melted)
输出结果如下:
A B Var Val
0 foo one C x
1 foo one C y
2 foo one C x
3 foo two C y
4 bar two C x
5 bar two C y
6 bar two C x
7 bar one C y
8 bar one C x
9 foo one D 1
10 foo one D 2
11 foo one D 3
12 foo two D 4
13 bar two D 5
14 bar two D 6
15 bar two D 7
16 bar one D 8
17 bar one D 9
在示例代码中,我们首先创建了一个包含四列的数据框。然后使用pd.melt()
函数将数据框部分融化,指定id_vars
参数为['A', 'B']
表示保持这两列不变,指定value_vars
参数为['C', 'D']
表示对这两列进行融化。最后,我们指定var_name
参数为'Var'
表示融化后的列名称为'Var',指定value_name
参数为'Val'
表示融化后的值列名称为'Val'。最后,我们打印出融化后的结果。