首页 > 其他 > 详细

numpy的读书报告:

时间:2020-11-22 09:40:43      阅读:38      评论:0      收藏:0      [点我收藏+]

numpy 库常见函数的介绍

<1>. numpy创建数组

1. 从已有数据中创建数组

  a. 将列表转换成 ndarray:

1 import numpy as np
2 ls1 = [10, 42, 0, -17, 30]
3 nd1 =np.array(ls1)
4 print(nd1)
5 print(type(nd1))

显示结果:

1 [ 10  42   0 -17  30]
2 <class numpy.ndarray>

b.嵌套列表可以转换成多维 ndarray:

1 [[ 8 -2  0 34  7]
2 [ 6  7  8  9 10]]
3 <class numpy.ndarray>

2. 利用 random 模块生成数组

几种 np.random 模块中常用的方法,如下表所示:

 

技术分享图片

 

下面来看一些使用:

1 import numpy as np
2 import random
3 nd3 =np.random.random([4, 3])  #生成4行3列的数组
4 print(nd3)
5 print("nd3的形状为:",nd3.shape)

执行结果:

1 [[0.59115057 0.52022516 0.05992361]
2  [0.5077815  0.81313999 0.70061259]
3  [0.24654561 0.11705634 0.71399966]
4  [0.73964407 0.57138345 0.89284498]]
5 nd3的形状为: (4, 3)

3. 创建特定形状的多维数组

参数初始化时,有时需要生成一些特殊矩阵,如全是 0 或 1 的数组或矩阵,这时我们可以利用 np.zeros、np.ones、np.diag 来实现,如下表所示。

 

 

 

技术分享图片

 

 1 import numpy as np
 2 # 生成全是 0 的 3x3 矩阵
 3 nd5 =np.zeros([3, 3])
 4 # 生成全是 1 的 3x3 矩阵
 5 nd6 = np.ones([3, 3])
 6 # 生成 4 阶的单位矩阵
 7 nd7 = np.eye(4)
 8 # 生成 4 阶对角矩阵
 9 nd8 = np.diag([1, 8, 3, 10])
10 print("nd5 =\n", nd5)
11 print("nd6 =\n", nd6)
12 print("nd7 =\n", nd7)
13 print("nd8 =\n", nd8)
 1 nd5 =
 2 [[0. 0. 0.]
 3 [0. 0. 0.]
 4 [0. 0. 0.]]
 5 nd6 =
 6 [[1. 1. 1.]
 7 [1. 1. 1.]
 8 [1. 1. 1.]]
 9 nd7 =
10 [[1. 0. 0. 0.]
11 [0. 1. 0. 0.]
12 [0. 0. 1. 0.]
13 [0. 0. 0. 1.]]
14 nd8 =
15 [[ 1  0  0  0]
16 [ 0  8  0  0]
17 [ 0  0  3  0]
18 [ 0  0  0 10]]

 

4. 利用 arange() 和 linspace() 函数生成数组

 arange() 是 numpy 模块中的函数,其格式为:

1 arange([start,] stop[,step,], dtype=None)

其中,start 与 stop 用来指定范围,step 用来设定步长。在生成一个 ndarray 时,start 默认为0,步长 step 可为小数。Python 有个内置函数 range,其功能与此类似:

1 import numpy as np
2 print(np.arange(10))
3 print(np.arange(0, 10))
4 print(np.arange(1, 4, 0.5))
5 print(np.arange(9, -1, -1))
1 [0 1 2 3 4 5 6 7 8 9]
2 [0 1 2 3 4 5 6 7 8 9]
3 [1.  1.5 2.  2.5 3.  3.5]
4 [9 8 7 6 5 4 3 2 1 0]

 

numpy的读书报告:

原文:https://www.cnblogs.com/wzl0727/p/14017930.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!