【问题标题】:Stacking Columns one under another as a new dataframe将列一个接一个堆叠成一个新的数据框
【发布时间】:2019-06-09 04:06:36
【问题描述】:

我有包含 999 个收盘收益的股票数据。我需要使用 python 将这 999 列堆叠在一起,即 stock 1, stock 2, ..., stock 999 全部堆叠在另一列下。

【问题讨论】:

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


    【解决方案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) 都堆叠在一起。让我知道这是否是您想要的。

    【讨论】:

    • 这已经成功了,非常感谢!我试图使用串联,但如果有 999 列,那将是很多代码 - 这在一行中做同样的事情 - 太棒了!
    • @user9645302 太好了,既然答案有帮助,请也给它投票。
    • 对不起,我现在投了赞成票 - 以前不允许我这样做。再次感谢
    猜你喜欢
    • 2021-07-12
    • 1970-01-01
    • 2016-03-06
    • 2017-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多