一文包会,教你如何熟练运用Python数值计算Numpy包

对于使用Python的朋友来说,在平常的数值计算中有一个开源包肯定会被用到,没错,它就是大名鼎鼎的 Numpy包 ,全称为 Numberical Python ,是Python的一种开源的数值计算扩展,大量的数学函数库集成在Numpy包内部,你都可以随手拿来使用,极为方便!

好啦,那就让我们来来聊聊这个Numpy包吧!

在Python中,如果涉及到第三方包的使用,第一步需要做的事情当然是将这个包进行导入啦!那咱们就看看Numpy包在使用时是如何进行导入的吧!

Numpy包的导入方式

与在Python中导入其他包或模块的方式相同,Numpy包同样使用import语句来进行导入的,它的导入格式如下所示:

import numpy as np

后面的as的意思是在导入后为了编写程序方便,给numpy起了个别名,所以在程序中直接写np指的就是numpy!

好啦,接下来就说一下numpy包常用到的一些基本方法吧!

首先,Numpy可将列表转换为数组

上面咱们所写的程序就是调用numpy包将列表转换为数组,好啦,咱们运行一下看看结果怎样吧:

接下来呢,我们再看一下numpy包中几个基础函数的使用方法!

numpy包中arange()函数的用法

首先看一下arange()函数的语法格式吧:

numpy.arange(start, stop, step)

Python学习交流群,欢迎各位小伙伴来交流学习。

看到了吗,arange()函数有三个参数,我们就来分别说一下吧,首先参数start表示数组的起始数值,stop参数顾名思义就是数组的终止数值,但是要记住,不包括stop这个终止值本身,参数step呢则是表示数组之间的间隔值!

也就是说哦,arange()函数就是返回一个包含起始值且不包含终止值的间隔为step的数组!当然啦,arange()函数中的三个参数并不是全部都是必须的,是可以有默认值的!

好啦,还是举个“栗子”来理解一下吧:

运行上面的程序后,输出结果如下:

numpy包中linspace()函数的用法

同样先来看看linspace()函数的语法格式:

matplotlib.linspace(start, stop, num=10, endpoint=True)

linspace()函数的作用是获得一个即包含起始值又包含终止值得数组,而且这些数据之间的长度是相同的,其中参数num就是代表数组的长度,endpoint参数如果赋值为True,就是代表默认将终止值包含在数组中!

好啦,还是举个“栗子”吧:

运行一下上面程序看看结果哦:

numpy包中内置函数的用法

在numpy包中拥有许多的内置函数,比如正弦sin()、余弦cos()、指数exp()等,下面呢,咱们就挑几个来看看用法吧,其他的内置函数用法也是一样的,好啦,下面还是举个“栗子”:

好啦,运行一下看看结果吧:

最后呢,再看一下numpy包中随机函数的用法吧!

numpy包中random包的用法

首先说一下,random包是用来生成各种类型的数据样本的,而且是随机的,用起来非常方便,下面咱们就看一下random包到底如何使用吧:

首先呢,要使用random包当然是先进行导入啦,因为random包是内置于numpy包中的,因此呢,当导入了numpy后就可调用random包啦,如下所示:

np.random.rand()

np.random.randn()

到这里可能有朋友会问啦,上面的rand()和randn()函数到底区别在哪呢?好啦,咱们就先说一下吧, rand()函数呢是用来生成一个数组的,比如rand(10)呢代表是生成一个长度为10的数组,而且这个数组的元素都是在0~1之间;而randn()函数呢则是生成一个标准的正态分布数组的,比如randn(10)表示生成一个10个元素的数组哦,而且这个数组是符合正态分布的!

好啦,为了让大家印象深刻,咱们还是举个“栗子”:

运行一下看看结果:

好啦,上面咱们已经介绍了numpy包中的几类函数的使用方法,其实呢, numpy包非常非常非常的强大,内部含有很多很多很多的函数,我们不可能一一都聊一遍,上面咱们所聊到的几类函数的用法会在Python数据可视化中常用,这也是咱们挑选介绍这几个函数的原因,当然啦,只要大家掌握了这几个函数的用法,其他numpy包中的函数的使用当然是类似的,只要稍看一下特定函数的语法格式就可以正确使用啦!

好啦,这次咱们所介绍的几个numpy函数也是算解答有些朋友在matplotlib库数据可视化时调用到的numpy包中的某些函数的疑问,OK,今天咱们就聊到这吧,下次再见哦![再见]

猜你喜欢

转载自blog.csdn.net/Python_xiaobang/article/details/112365569