重新排序数据框的列索引

时间:2019-08-13 21:25:43

标签: python python-3.x pandas columnsorting

我有一个15k列的数据框。这些列将重新排序。这样的。这些列的排列方式如下:

1)第一列应为第三列 2)第二列应具有第一列的值 3)第三列的值应为第一

现有列

0 1 2 3 4 5 6 7 8 ..... 14998 14999 15000

所需列

2 0 1 5 3 4 8 6 7 .... 15000 14998 14999

2 个答案:

答案 0 :(得分:4)

IIUC,甚至更简单的解决方案:

import itertools

k = [2, -1, -1] * (len(x)//3)
indexes = np.arange(15000) + np.array(k)

df.iloc[:, indexes]

答案 1 :(得分:0)

您需要的只是正则表达式!

teststring=" ".join(str(i) for i in range(0,15000))
replacedstring=re.sub(r'((\d+) (\d+) (\d+))',r'\4 \2 \3',teststring)
replacedstring.split(" ")