重新排序CSV中的列

迪甘塔·巴拉里(Diganta Bharali)

之前已发布问题,但未正确传达要求。我有一个超过1000列的csv文件:

A   B   C   D ....  X   Y   Z
1   0   0.5 5 ....  1   7   6
2   0   0.6 4 ....  0   7   6
3   0   0.7 3 ....  1   7   6
4   0   0.8 2 ....  0   7   6

这里X,Y和Z是999、1000、10001列,而A,B,C和D是第1、2、3和4列。我需要对列进行重新排序,以便获得以下内容。

D   Y   Z   A   B   C   ....X
5   7   6   1   0   0.5 ....1
4   7   6   2   0   0.6 ....0
3   7   6   3   0   0.7 ....1
2   7   6   4   0   0.8 ....0

即第4列变成第1列,第1000列和第1001列变成第2列和第3列,其他列相应地右移。

最大容量

因此,问题是如何以自定义方式对列进行重新排序。

例如,您具有以下DF,并且您希望通过以下方式(索引)对列进行重新排序:

5 3 3

东风

In [82]: df
Out[82]:
   A  B    C  D  E  F  G
0  1  0  0.5  5  1  7  6
1  2  0  0.6  4  0  7  6
2  3  0  0.7  3  1  7  6
3  4  0  0.8  2  0  7  6

In [83]: cols = df.columns.tolist()

In [84]: cols
Out[84]: ['A', 'B', 'C', 'D', 'E', 'F', 'G']

重新排序:

In [88]: cols = [cols.pop(5)] + [cols.pop(3)] + cols

In [89]: cols
Out[89]: ['F', 'D', 'A', 'B', 'C', 'E', 'G']

In [90]: df[cols]
Out[90]:
   F  D  A  B    C  E  G
0  7  5  1  0  0.5  1  6
1  7  4  2  0  0.6  0  6
2  7  3  3  0  0.7  1  6
3  7  2  4  0  0.8  0  6

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章