写在前面的废话
因为在机器学习中经常需要对数据进行一些操作,Numpy提供了许多非常方便的数组和矩阵的操作,但是系统地介绍Numpy这个包的课程并不多,所以就把最近在学习的课程里面关于Numpy的内容整理出来。
首先,在Python中使用import numpy引入numpy包,可通过import numpy as np将numpy简写为np,下面的代码中都使用np代表numpy.
Numpy数组
Python中需要表示一个数组时通常有两种表示方式,一种是List,一种是Array。List可以用于保存不同类型的数据元素,使用起来非常灵活方便,但是相对而言查找的效率就比较低;Array相当于是二维数组,只能用于保存一种类型的数据元素,数据类型可以在创建时指定。
Numpy中也提供了类似Array的操作,但是不同于Python本身的Array代表的只是二维数组,Numpy中的Array表示的是一个张量,可以用于表示多维数组。
Numpy.Array同样需要指定数据类型,通常情况下会根据数据元素设置默认的数据类型,如可以根据下面的方式创建Numpy数组,数据类型默认为int32类型
如果使用其他数据类型给数组元素赋值,数组将会对赋值的元素进行隐式转换,无法转换的解释器则会报错
创建Numpy数组(和矩阵)的几种方法
numpy.zeros、numpy.ones和numpy.full
numpy.zeros可以用于创建数据元素全部为0的数组,创建时可以指定数据元素的个数、数据类型(不指定时默认为浮点型),也可以通过shape参数指定数组的行数列数,以此来创建多维数组
同样可以通过numpy.ones创建全1矩阵,具体使用方法与numpy.zeros类似
如果想要创建数据元素全部为指定值