将 pandas DataFrame 的所有列连接到第一列

Concatenate all columns of a pandas DataFrame into the first one

我有一个包含 N (>10000) 列的数据框,我想将它们全部连接到第一列(换句话说,一个 "below" 另一个,都在第一列中)。

我得到的是这样的:

cols = {'col1':['a','a','b','b'], ... , 'coln':[1,2,3,4]}
a = pd.DataFrame(cols)
a

   col1 ... coln
    0   ...   1
    4   ...   2
    3   ...   3
    3   ...   4

我正试图得到这样的东西:

col1    
 0  
 4 
 3  
 3  
...
 1
 2
 3
 4

通常我会做这样的事情,这确实有效:

b = pd.concat([a['col1'], ..., a['coln']]).reset_index(drop=True)

但我想知道是否有更好的方法来做到这一点,因为对于大数据框,我的方法将花费很长时间。

谢谢!

已回答 ,但总结一下:

b = pd.concat([a[col] for col in a])