将一列添加到同一 DataFrame 中的列的末尾

sdh*_*aus 3 python pandas

我目前有一个数据框,是我使用 Beautiful Soup 从互联网上抓取的。然而,它的设置是网格化的,而不是一个连续的列表。就像行的月份和列的年份一样。

但是,我试图使它成为一个连续的列,因为这些数据将与其他数据(即出生与死亡)进行对比。

我目前拥有的 df 示例如下,

      2010        2011      2013     2014
Jan  1.474071 -0.064034  0.781836 -1.282782
Feb -1.071357  0.441153  0.583787  2.353925
Mar  0.221471 -0.744471  1.729689  0.758527
Apr -0.964980 -0.845696  1.846883 -1.340896
May -1.328865  1.682706  0.888782 -1.717693
Jun  0.228440  0.901805  0.520260  1.171216
Jul -1.197071 -1.066969 -0.858447 -0.303421
Aug  0.306996 -0.028665  1.574159  0.384316
Sep -0.014805 -0.284319 -1.461665  0.650776
Oct  1.588931  0.476720 -0.242861  0.473424
Nov -0.014805 -0.284319 -1.461665  0.650776
Dec  0.964980 -0.845696  1.846883 -1.340896
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试追加(使用忽略索引)时,我得到

 df[["2010"]].append(df[["2011"]], ignore_index=True)

  00    1.474071    NaN  
  01   -1.071357    NaN  
  02    0.221471    NaN  
  03   -0.964980    NaN 
  04   -1.328865    NaN  
  05    0.228440    NaN  
  06   -1.197071    NaN 
  07    0.306996    NaN 
  08   -0.014805    NaN
  09    1.588931    NaN
  11   -0.014805    NaN 
  12    NaN         -0.064034 
  13    NaN          0.441153  
  14    NaN         -0.744471 
  15    NaN         -0.845696 
  16    NaN          1.682706  
Run Code Online (Sandbox Code Playgroud)

但是我试图将整个数据集放入一个连续的列中,例如

  00    1.474071   
  01   -1.071357    
  02    0.221471     
  03   -0.964980   
  04   -1.328865    
  05    0.228440    
  06   -1.197071   
  07    0.306996   
  08   -0.014805   
  09    1.588931  
  11   -0.014805   
  12   -0.064034 
  13    0.441153  
  14   -0.744471 
  15   -0.845696 
  16    1.682706 
Run Code Online (Sandbox Code Playgroud)

如何将所有四列合并为一列?

Vid*_*a G 5

另一种方法是unstackDataFrame. 然后使用以下命令将索引重置为默认整数索引reset_index(drop=True)

df.unstack().reset_index(drop=True)
Run Code Online (Sandbox Code Playgroud)