我在Python中有一个数据集,我正试图从这样一个广泛的数据集转换:
ID | 名称 | 20072008||
---|---|---|---|
1 | Andy | 324 | >412 |
2 | Becky | 123 | >422 |
3 | Lizzie |
不能使用pivot
,因为这实际上是一个melt
操作:
out = (df.melt(
id_vars=["ID", "Name"],
value_vars=["2007", "2008"],
var_name="Year",
value_name="Var"
)
.sort_values(["ID", "Year"]))
print(out)
ID Name Year Var
0 1 Andy 2007 324
3 1 Andy 2008 412
1 2 Becky 2007 123
4 2 Becky 2008 422
2 3 Lizzie 2007 332
5 3 Lizzie 2008 564