使用 unpivot 函数即可实现类似功能
pandas.melt()是一个重塑数据的方法。它将指标为列的宽数据规整为指标为行的长数据。
简单来说,它会:
1. 识别数据中重要的指标列(id_vars)和度量列(value_vars)。
2. 将度量列拆分为变量名(变量)和变量值两列。
3. 使用指标列和新的变量名/变量值列创建融合后的数据集。
这个方法常用于将聚合或透视表的数据转换成分析所需的长格式数据。
举个例子,如果我们有这样一组数据:
id gender age height weight
0 1 male 30 180 80
1 2 female 25 170 60
2 3 male 32 185 85
3 4 female 27 160 55
我们可以使用.melt()将它融合为:
id gender variable value
0 1 male age 30
1 2 female age 25
2 3 male age 32
3 4 female age 27
4 1 male height 180
5 2 female height 170
6 3 male height 185
7 4 female height 160
8 1 male weight 80
9 2 female weight 60
10 3 male weight 85
11 4 female weight 55
ddb里有这样的函数吗