文章目录
这篇为numpy第一篇,讲解创建。
导入numpy并查看版本:
numpy.arrary
此处讲解为什么要用numpy的array。
python 自带list
python自带的list可以存不同的类型,灵活度高:
python自带list可以存储不同的数据类型,这样虽然灵活,但是会影响效率。下面介绍另外一个。
python自带array
python也是带有array数组的,可以指定数据类型,解决了list的效率问题。下面就是指定类型为整型:
可以看到,只能修改数据为整型,为浮点型都会报错:
但是array也有一个缺点,它没有将数据当做向量或者矩阵,不支持基本运算,机器学习里面需要大量的这种计算。于是我们介绍numpy的array:
numpy的array
可以看到,numpy的array也是有指定类型的。
查看数组里面数据的类型用dtype:
numpy的array如果把float类型的数据赋值给int,虽然不会报错,但是float的精度体现不到,还是精确到int个位数,类型依然是int。
如果实在定义numpy array数组的时候,有float类型的,那就按照精度最高的作为类型,如下图:
创建numpy.array
普通创建numpy.array方法
zeros
创建初始化为0的数据,默认浮点数。
创建10个数据初始化为0的数据:
创建3行5列的数据
ones
创建初始化为1的数据,默认为浮点数
full
我们直接看API吧:
其实就是填充特定值的数据:
arange
简单的来说,就是根据间隔,左闭右开地生成array,例如:
并且不推荐非整型的间隔:
但是在0和1之间的就可以:
不指定步长的情况下,步长默认为1,不指定开头,开口默认为0:
linspace
这是一个左闭右闭区间产生array的方法:
例子如下:
在这里,后面的数字不是步长,而是分成的段数。
randint
产生0,10之间的随机数:
产生10个0,10之间的随机数:
产生特定维度的随机数:
seed
通过随机种子,我们可以保证每次产生的随机数是一样的。
random
返回0-1之间左闭右开区间的随机值
例子如下:
normal
产生正态分布的随机数
例子如下:
解锁更多np.random的方法,在jupyter里面输入np.random.+键即可。