Python 将列堆叠在另一列下作为新的数据帧

Python 将列堆叠在另一列下作为新的数据帧,python,database,python-3.x,pandas,jupyter-notebook,Python,Database,Python 3.x,Pandas,Jupyter Notebook,我有999份收盘申报单组成的股票数据。我需要使用python将这些999列一列一列地堆叠在另一列下,即stock 1、stock 2、…、stock 999所有列都堆叠在另一列下。我想您需要的是: 请参见下面的示例: 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]

我有999份收盘申报单组成的股票数据。我需要使用python将这些999列一列一列地堆叠在另一列下,即stock 1、stock 2、…、stock 999所有列都堆叠在另一列下。

我想您需要的是:

请参见下面的示例:

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
)都堆叠在一起。如果这是您想要的,请告诉我。

这已经奏效了,非常感谢!我曾尝试使用串联,但对于999列,这将是大量代码-这在一行中完成相同的事情-这太棒了@user9645302太好了,既然答案有帮助,请也投票吧。很抱歉,我现在投票了——它以前不允许我这么做。再次感谢