我有一个具有以下结构的pandas.DataFrame
df = pd.DataFrame({'x1': [4,6,5,7],
'x2': [3,2,9,0],
'x3': [4,8,7,1],
'y': [10,11,12,13]})
print(df)
x1 x2 x3 y
0 4 3 4 10
1 6 2 8 11
2 5 9 7 12
3 7 0 1 13
现在,我想将x列堆叠在一起以获取下面的DataFrame(在下面的示例中,我实际上不需要var
列,请考虑将其视为可选):
var x y
0 x1 4 10
1 x2 3 10
2 x3 4 10
3 x1 6 11
4 x2 2 11
5 x3 8 11
6 x1 5 12
7 x2 9 12
8 x3 7 12
9 x1 7 13
10 x2 0 13
11 x3 1 13
我尝试了df.stack(level=['x1','x2','x3'])
,但这会引发错误。
ValueError:级别应包含所有级别名称或所有级别编号,而不是两者的混合。