一、初学与入门

1、初学者10题

1-在python环境中导入numpy包,并命名为np

1
import numpy as np

2-查看numpy版本和配置信息

1
np.__version__

3-创建零向量,zeros函数

1
2
3
a1 = np.zeros((2,3)) 
## array([[ 0., 0., 0.],
## [ 0., 0., 0.]])

4-将上面的零向量的第二行第三列元素置为1。注意python中行列都是从0开始。

1
2
3
a1[1,2] = 1
## array([[ 0., 0., 0.],
## [ 0., 0., 1.]])

5-arange函数,创建一个在给定范围的向量

1
a2 = np.arange(1,101)  # 1-100范围不包含101

6-reshape函数,将array变形为矩阵

1
2
3
4
a3 = np.arange(9).reshape(3,3)  
## array([[0, 1, 2],
## [3, 4, 5],
## [6, 7, 8]])

7-nonzero函数,寻找非0元素的下标

1
a4 = np.nonzero([1,2,3,0,0,4,0])  # (array([0, 1, 2, 5], dtype=int64),)

8-eye函数,生成单位向量

1
2
3
4
a5 = np.eye(3)
## array([[ 1., 0., 0.],
## [ 0., 1., 0.],
## [ 0., 0., 1.]])

9-diag函数,diagonal对角线

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
a6 = np.diag([1,2,3,4],k=0)       # k=0,以[1,2,3,4]为对角线
## array([[1, 0, 0, 0],
## [0, 2, 0, 0],
## [0, 0, 3, 0],
## [0, 0, 0, 4]])
a7 = np.diag([1,2,3,4],k=1) # k=1,以[1,2,3,4]为对角线
## array([[0, 1, 0, 0, 0],
## [0, 0, 2, 0, 0],
## [0, 0, 0, 3, 0],
## [0, 0, 0, 0, 4],
## [0, 0, 0, 0, 0]])

a8 = np.diag([1,2,3,4],k=-1) # k=-1,以[1,2,3,4]为对角线
## array([[0, 0, 0, 0, 0],
## [1, 0, 0, 0, 0],
## [0, 2, 0, 0, 0],
## [0, 0, 3, 0, 0],
## [0, 0, 0, 4, 0]])

10-random模块的random函数,生成随机数

1
2
3
4
a9 = np.random.random((3,3))  
## array([[ 0.37607512, 0.62883501, 0.65996391],
## [ 0.78327199, 0.65893716, 0.70154238],
## [ 0.0489404 , 0.53343568, 0.59334416]])

2、入门级10题

1-创建一个8*8的“棋盘”矩阵
r1 = np.zeros((8,8),dtype=int)
r1[1::2,::2] = 1 #1,3,5,7行 2,4,6列的元素设置为1
r1[::2,1::2] = 1

2-min()和max()函数
import numpy as np
a2 = np.random.random((10,10))
a2max,a2min = a2.max(),a2.min()

更新中….