python交换数据的两列

  python交换数据的两列有两种方式:

  第一种:在numpy中交换数据的两列;

  上代码:

1 import numpy as np
2 a = np.array([[1,2,3],[4,5,6]])
3 >>> a
4 array([[1, 2, 3],
5        [4, 5, 6]])
6 >>> a[:,[0, -1]] = a[:,[-1, 0]]
7 >>> a
8 array([[3, 2, 1],
9        [6, 5, 4]])

  第二种:在pandas中交换数据的两列;以movieLen100K中的u.data为例;

  上代码:

   

 1 import pandas as pd
 2 import numpy as np
 3 
 4 file = 'ml-100k/u.data'
 5 df = pd.read_csv(file, sep='\t', header=None ,names=['a'  , 'b' ,'c' ,'d'])
 6 print(df)
 7 cols = list(df)
 8 cols.insert(2,cols.pop(cols.index('d')))
 9 df = df.loc[:,cols]
10 print(df)

 

  测试结果:

 

         a     b          d  c
0      196   242  881250949  3
1      186   302  891717742  3
2       22   377  878887116  1
3      244    51  880606923  2
4      166   346  886397596  1

  很明显,‘d’与‘c’交换了位置;

  至此,python中的数据交换位置讲完;

  

posted on 2020-04-01 18:33  学弟1  阅读(7658)  评论(0编辑  收藏  举报

导航