在编程的过程中发现对列的这种操作找不到教程,就自己写一篇
例如这里有一个list(先把list转化为array:list = np.array(mylist)
import numpy as np
list1 = [[1, 2, 3], [4, 5, 6],[7, 8, 9],]
list1 = np.array(list1)
list1
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
列交换
我们想要把第一列跟第二列交换
list2 = list1[:,[1,0,2]]
#注意有逗号!!
行交换
错位示范:
tem1 = list1[2]
list1[2] = list1[0]
list1[0] = tem1
list1
array([[1, 2, 3],
[4, 5, 6],
[1, 2, 3]])
#原因是因为tem1 = list1[2]并非list1[2]的一个copy,而是一个“别名”,那么我们改写成:
正确姿势:
tem1 = np.copy(list1[1])
list1[1] = list1[2]
list1[2] = tem1
list1
array([[1, 2, 3],
[7, 8, 9],
[4, 5, 6]])
某一列的加减乘除:
#这里显示第一列全部加5操作
list1[:,0] = list1[:,0]+5
list1
array([[ 6, 2, 3],
[ 9, 5, 6],
[12, 8, 9]])
#减乘除也是如此类推
某一行加减乘除:
#例如对第一加2
list1[0,:] = list1[0,:]+2
list1
array([[3, 4, 5],
[4, 5, 6],
[7, 8, 9]])
#减乘除如类推
最后把array转化为list
lsit1 = list1.tolist()
lsit1
[[3, 4, 5], [4, 5, 6], [7, 8, 9]]