修改数据集的行和列
Modifying Rows & columns of a dataset
我有这样的数据
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 转换为一种格式,其中一列或多列是标识符变量,而所有其他列(被视为测量变量)都与行轴无关,只留下两个非-标识符列、变量和值。
用法:
pd.melt(x, id_vars=['category', 'Sub-category','Variable'], var_name='year', value_name='vals')
我有这样的数据
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 转换为一种格式,其中一列或多列是标识符变量,而所有其他列(被视为测量变量)都与行轴无关,只留下两个非-标识符列、变量和值。
用法:
pd.melt(x, id_vars=['category', 'Sub-category','Variable'], var_name='year', value_name='vals')