不少小伙伴使用python来进行数据分析,进行数据分析往往要牵扯到矩阵操作,此时可能要用到多维数组,那么,在python里如何创建多维数组呢,小编整理了以下方法,一起来跟着小编学习一下吧!
如何生成多维数组
初识 ndarray 多维数组
在算法中我们最经常用到的就是矩阵,我们就从矩阵开始说起吧。
NumPy 中,使用二维的多维数组 ndarray 来存储矩阵。
例:
a3 = np.array([[1,0],[0,1]])
会生成这样一个多维数组对象
生成数组序列
通过开始值、结束值和步长值生成数组序列 - arange
可以通过 arange 函数来生成指定开始值,结束值和步长值的一维数组。请注意,结束值并不包含在序列中,也就是说结束值是开区间。
线性序列 - linspace
与 arange 类似,linspace 通过给定初值、终值和元素个数来生成序列。是否包含终值可以通过 endpoint 属性来设置。
例:
等比序列 - logspace
除了线性的等差数列,我们也可以通过等比数列的方式来生成一维数组。
默认是以 10 的 n 次方为参数,比如 logspace(0,4,3) 的意思是,初值为 10 的 0 次方,即 1,终值是 10 的 4 次方,即 100,一共生成 3 个值。
例,生成 [1,100,10000]
我们当然也可以修改基数,比如改成 3:
改变多维数组的形状
如果有一个一维数组要转为多维数组,可以通过修改 shape 属性来实现。
我们可以先将数据存在一维数组中,可以用列表或者元组来生成一维数组,它们是等价的:
例:
我们通过 shape 属性来查看一个数组的形状:
shape 属性是可以直接修改的,比如我们想把上面的 a1 改成 2 x 2 的矩阵,就直接改 shape 值就是了:
如果能确定一个轴,另一个可以赋 - 1 让系统自己去算。
例:
如果想保持这个数组不变,生成一个形状改变的新数组,可以调用 reshape 方法。
例:我们将一个 25 个元素的数组生成一个 5x5 的新数组
直接生成多维数组
生成全 0 的数组
zeros 生成全是 0 的数组,第一个参数是 shape
例:
生成全是 1 的数组
例:
只生成空数组
empty 不赋初值,是最快速的方法
例:
通过函数来生成数组
通过 fromfunction 函数可以通过一个函数来生成想要的数组。
例,生成九九乘法表:
小编今天给大家提供了使用python创建多维数组的方法,要勤加练习才能完全熟练的掌握哦,如果你还想学习更多的操作,就请课下认真去看小编的每个课程。
本篇文章使用以下硬件型号:联想小新Air15;系统版本:win10;软件版本:python 3。