删除列并将其附加到现有列

时间:2019-08-20 22:31:14

标签: python pandas

我有一个数据框,其值如下:

A B C D E F G H
1 4 2 5 3 4 9 3
2 6 3 3 2 7 2 6
3 9 4 2 1 1 6 1

我想按如下方式重组数据框:

A B 
1 4 
2 6 
3 9
2 5
3 3
4 2
3 4
2 7
1 1
9 3
2 6
6 1

1 个答案:

答案 0 :(得分:2)

这是需要reshape并重新获得订单的一种方法

newdf=pd.DataFrame(np.reshape(df.values,(-1,2)))
newdf=newdf.iloc[(newdf.index%(df.shape[1]/2)).argsort()]
newdf
Out[447]: 
    0  1
0   1  4
4   2  6
8   3  9
1   2  5
5   3  3
9   4  2
2   3  4
6   2  7
10  1  1
3   9  3
7   2  6
11  6  1

或者我们使用groupby

v=np.concatenate([y.values for x , y in df.groupby(np.arange(df.shape[1])//2,axis=1)])

Out[451]: 
array([[1, 4],
       [2, 6],
       [3, 9],
       [2, 5],
       [3, 3],
       [4, 2],
       [3, 4],
       [2, 7],
       [1, 1],
       [9, 3],
       [2, 6],
       [6, 1]], dtype=int64)
newdf=pd.DataFrame(v)