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), '\n', arr)
4 arr = np.array(arr) # list 转 数组
5 print(type(arr), '\n', arr)
6
7 arr2 = np.zeros((2,5))
8 print(type(arr2), '\n', arr2)
9 arr2 = arr2.tolist() # 数组 转 list
10 print(type(arr2), '\n', 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('按最后一列 顺序 排序: \n' , a [ np.lexsort(a.T) ] )
12 print('按最后一列 逆序 排序: \n' , a[np.lexsort(-a.T)] )
13 print('\n')
14 print('按第一列 顺序 排序: \n' , a[np.lexsort(a[:,::-1].T)] )
15 print('按第一列 逆序 排序: \n' , a[np.lexsort(-a[:,::-1].T)] )
16 print('\n')
17 print('按最后一行 顺序 排序: \n' , a.T[np.lexsort(a)].T )
18 print('按最后一行 逆序 排序: \n' , a.T[np.lexsort(-a)].T )
19 print('\n')
20 print('按第一行 顺序 排序: \n' , a.T[np.lexsort(a[::-1,:])].T )
21 print('按第一行 逆序 排序: \n' , 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 '''