修改数据集的行和列
问题描述
我有这样的数据
category | Sub-category | Variable | 1990 | 1991 | 1992
C1 sc1 v1 1 2 3
v2 4 5 6
v3 7 8 9
sc2 v1 10 11 12
v2 13 14 15
v3 16 17 18
我想将其转换为此
category | Sub-category | Variable | year | vals
C1 sc1 v1 1990 1
1991 2
1992 3
V2 1990 4
1991 5
1992 6
V3 1990 7
1991 8
`1992` 9
and so on
如何在python[&;/或EXCEL]中执行此操作?
解决方案
在Python中,您可以使用melt
函数(来自 pandas 库)。
Pandas.melt()
将DataFrame从宽格式取消透视为长格式。
melt()
函数用于将DataFrame转换为一种格式,其中一列或多列是标识符变量,而所有其他被视为度量变量的列被取消透视到行轴,只剩下两个非标识符列:Variable和Value。
用法:
pd.melt(x, id_vars=['category', 'Sub-category','Variable'], var_name='year', value_name='vals')
相关文章