大熊猫:堆叠枢轴的列

时间:2019-04-03 09:03:00

标签: python pandas

我有一个具有以下结构的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:级别应包含所有级别名称或所有级别编号,而不是两者的混合。

0 个答案:

没有答案