1. 创建数组:
python 创建一维数组:
import numpy as np
count = np.zeros(5) # 创建元素全 0 的一维数组
print(count)
'''运行结果:[0. 0. 0. 0. 0.]'''
count = np.ones(5) # 创建元素全 1 的一维数组
print(count)
'''运行结果:[1. 1. 1. 1. 1.]'''
python 创建二维数组:
1 import numpy as np 2 arr = [ [0] * 5 for i in range(2)] 3 print(type(arr), ' ', arr) 4 arr = np.array(arr) # list 转 数组 5 print(type(arr), ' ', arr) 6 7 arr2 = np.zeros((2,5)) 8 print(type(arr2), ' ', arr2) 9 arr2 = arr2.tolist() # 数组 转 list 10 print(type(arr2), ' ', arr2) 11 12 ''' 运行结果: 13 <class 'list'> 14 [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 15 <class 'numpy.ndarray'> 16 [[0 0 0 0 0] 17 [0 0 0 0 0]] 18 <class 'numpy.ndarray'> 19 [[0. 0. 0. 0. 0.] 20 [0. 0. 0. 0. 0.]] 21 <class 'list'> 22 [[0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0]] 23 '''
2. 按二维数组的某行或某列进行排序 (numpy lexsort)
转自:https://www.cnblogs.com/focus-z/p/13799524.html
要求:数组中内容均为 数字类型
1 ### python 对数组按某行或某列进行排序 2 # 链接:https://www.cnblogs.com/liyuxia713/p/7082091.html 3 import numpy as np 4 5 arr = [[ 8, 7, 6, 5], 6 [ 4, 3, 2, 1], 7 [12, 11, 10, 9]] 8 9 a = np.array(arr) 10 11 print('按最后一列 顺序 排序: ' , a [ np.lexsort(a.T) ] ) 12 print('按最后一列 逆序 排序: ' , a[np.lexsort(-a.T)] ) 13 print(' ') 14 print('按第一列 顺序 排序: ' , a[np.lexsort(a[:,::-1].T)] ) 15 print('按第一列 逆序 排序: ' , a[np.lexsort(-a[:,::-1].T)] ) 16 print(' ') 17 print('按最后一行 顺序 排序: ' , a.T[np.lexsort(a)].T ) 18 print('按最后一行 逆序 排序: ' , a.T[np.lexsort(-a)].T ) 19 print(' ') 20 print('按第一行 顺序 排序: ' , a.T[np.lexsort(a[::-1,:])].T ) 21 print('按第一行 逆序 排序: ' , a.T[np.lexsort(-a[::-1,:])].T ) 22 23 ''' 运行结果: 24 按最后一列 顺序 排序: 25 [[ 4 3 2 1] 26 [ 8 7 6 5] 27 [12 11 10 9]] 28 按最后一列 逆序 排序: 29 [[12 11 10 9] 30 [ 8 7 6 5] 31 [ 4 3 2 1]] 32 33 34 按第一列 顺序 排序: 35 [[ 4 3 2 1] 36 [ 8 7 6 5] 37 [12 11 10 9]] 38 按第一列 逆序 排序: 39 [[12 11 10 9] 40 [ 8 7 6 5] 41 [ 4 3 2 1]] 42 43 44 按最后一行 顺序 排序: 45 [[ 5 6 7 8] 46 [ 1 2 3 4] 47 [ 9 10 11 12]] 48 按最后一行 逆序 排序: 49 [[ 8 7 6 5] 50 [ 4 3 2 1] 51 [12 11 10 9]] 52 53 54 按第一行 顺序 排序: 55 [[ 5 6 7 8] 56 [ 1 2 3 4] 57 [ 9 10 11 12]] 58 按第一行 逆序 排序: 59 [[ 8 7 6 5] 60 [ 4 3 2 1] 61 [12 11 10 9]] 62 63 '''