思维导图:
目录:
一、Numpy与数组
二、列表与Numpy数组的区别
三、创建数组的几种方式
1.Numpy与数组
@1:演示操作
#运行结果
[12, 34, 56, 33]
[12 34 56 33]
@2:接下来通过列表索引和数组索引来访问列表和数组中的元素,代码如下:
#运行结果
56
33
[12, 34, 56]
[12 34 56]
分析:由上面的运行结果我们不难观察到数组与列表的最大区别在于(数组里面是由空格符隔开,而列表里面是由逗 隔开)
2.列表与Numpy数组的区别
@1:数组进行数学运算相对列表比较方便,而由相同数字组成的列表和数组,计算出来的结果是不同的
@2:数组可以支持多维的数据,而列表只能储存一维的数据
@3:列表是由逗 隔开,而数组是由空格符隔开
@1的讲解,下面我们来进行操作演示,代码如下:
#运行结果
c的结果为: [2, 3, 4, 5, 2, 3, 4, 5]
d的结果为: [ 4 6 8 10]
分析:通过上面的操作可以清晰的看出,2倍的数组和2倍列表,数组是运算原理是相应的位置上扩大两倍,而列表运算原理是将原来的列表复制下来再组合成列表。
@2的讲解操作演示,代码如下:
#运行结果:
列表: [[1, 2], [3, 4], [5, 6]]
二维数组: [[1 2]
[3 4]
[5 6]]
分析:可以看到列表虽然包含着三个小列表,但其还是一个一维的结构,而创建的二维数组则是一个三行两列的二维结构内容,这个也是之后学习pandas库的核心内容了,因为数据数据处理中经常用到二维数组,也即二维表格结构。
3.创建数组的几种方式
@1:操作演示
#运行结果:
一维数组: [ 1 23 3 4 5]
二维数组: [[1 2]
[3 4]
[5 6]]
@2:除此之外,还有一些常见的创建数组的方式,这里以一维数组为例,我们还可以采用np.arange()函数来产生一维数组,其中括 里可以选择1个或2个或3个参数,代码如下:
#运行结果:
x: [0 1 2 3 4 5 6 7 8 9]
y: [ 6 7 8 9 10 11 12 13 14]
z: [5. 5.5 6. 6.5 7. 7.5 8. 8.5 9. 9.5]
@3:我们还可以通过np.random模块来创建随机一维数组,比如可以通过np.random.randn(5)来创建一个服从正太分布(均值为0,方差为1的分布)的5个随机数一维数组,代码如下:
#运行结果:
a: [ 0.75296369 -0.26186535 0.82455397 -0.26515191 0.0790009 ]
@4:如果把np.random.randn(5)换成np.random.rand(5),那生成的就是0-1之间的5个随机数,代码如下:
#运行结果:
a: [0.70213035 0.97106942 0.26096476 0.13735899 0.06844942]
@5:至于二维数组的创建与学习,可以利用一维数组中的np.arange()函数和reshape方法产生一个二维数组,比如将0到16个数转换成4行4列的二维数组,代码如下:
#运行结果:
a: [[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]
[12 13 14 15]]
@6:这里再简单提一种随机二维数组的创建,代码如下。其中np.random.randint()函数用来创建随机整数,括 里第一个元素0表示起始数,第二个元素10表示终止数,第三个元素(4, 4)则表示生成一个4行4列的二维数组,代码如下:
#运行结果:
a: [[4 0 7 4]
[6 1 3 0]
[7 1 9 7]
[2 4 6 2]]
文章知识点与官方知识档案匹配,可进一步学习相关知识OpenCV技能树首页概览11263 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!