将列堆叠为新数据框

时间:2019-01-15 06:44:07

标签: python database python-3.x pandas jupyter-notebook

我有由999个平仓收益组成的股票数据。我需要使用python将这999列一堆一堆地堆叠起来,即stock 1,stock 2,...,stock 999 all all under another。

1 个答案:

答案 0 :(得分:1)

我想您正在寻找的是unstack()

请参见以下示例:

In [330]: df
Out[330]: 
  col1  col2  rnk
0    a     5  1.5
1    a     5  1.5
2    b    10  1.0
3    b    15  2.0
4    c    20  1.0

In [329]: df.unstack()
Out[329]: 
col1  0      a
      1      a
      2      b
      3      b
      4      c
col2  0      5
      1      5
      2     10
      3     15
      4     20
rnk   0    1.5
      1    1.5
      2      1
      3      2
      4      1
dtype: object

所有3列(col1,col2,rnk)彼此堆叠。让我知道这是否是您想要的。