0
点赞
收藏
分享

微信扫一扫

<数据分析之Numpy篇>:你知道这些简便创建array数组对象的方法?

目录


1️⃣前言


2️⃣array对象

array对象就是一个数组,其是Numpy的核心数据结构。

它可以是一维数组,也可以是多维数组。

Python中的list列表也能实现数组对象的相应功能,那为什么要使用array呢?

首先,我们分别使用Python使用numpy里的数组对象array ,来进行数组计算,进而对比二者的不同点。




3️⃣数组对象的属性

ndarray的一般属性如下所示:

属性含义
shape数组的形状,即维度,n行m列
ndim秩(rank),即数组的维度或轴的数量
size数组中元素的总个数,相当于shape中的n*m
dtype数组对象元素的数据类型
itemsize数组中每个元素的字节长度
real返回数组的实部
imag返回数组的虚部
nbytes数组中所有元素的字节长度
flat返回数组的一维迭代器
T类似矩阵的转置,与self.transpose( )相同,如果维度小于2则返回self
data指向存放数组数据的python buffer对象,包含实际数组元素的缓冲区

下面我们就来看看属性表中的前四个属性!

首先是一维数组和二维数组的创建:


✨shape


✨ndim


✨size


✨dtype


4️⃣创建数组对象

🌳np.array()

  1. 我们可以使用array函数来创建一个数组对象

格式如下:

  • array(object, dtype, ndmin)

举个例子:


🌳np.empty()

  1. 我们可以使用empty函数来创建一个数组对象。

格式如下:

  • np.empty(shape, dtype)

举个例子:

需要注意的是empty函数创建的数组对象是未初始化的。

比如:

也就是说,数组里的元素是随机值。这一点需要注意。


🌳np.arange()

  1. 我们可以使用arange函数来创建一维数组

格式如下:

  • np.arange(start,stop,step dtype)

注意:数组的元素值并没有取到stop处的值,即区间为[start, stop)

举个例子:


🌳np.asarray()

  1. 我们可以使用asarray函数来创建一个数组对象

格式如下:

  • np.asarray(a, dtype)

举个例子:


举例二:


🌳np.linspace()

  1. 我们可以使用linspace函数来创建一维数组,该数组是等差数列

格式如下:

  • np.linspace(start, stop, num, endpoint, retstep, dtype)

举个例子:

如果将 endpoint 设为 False(即不包含终止值),那么效果如下:

在这里插入图片描述

如果将 retstep 设为 True(即要显示间距),那么效果如下:


🌳np.logspace()

  1. 我们可以使用logspace函数来创建一个数组对象

格式如下:

  • np.logspace(start, stop, num, endpoint, base, dtype)

举个例子:

如果我们将对数的底数base设置为2,那么效果如下:


🌳np.ones()

  1. 我们可以使用ones函数来创建一个元素全是1的数组对象

格式如下:

  • np.ones(shape, dtype)

举个例子:


🌳np.ones_like()

  1. 如果我们将一个数组对象x传入ones_like函数,则可以创建另一个数组对象,比如y,这个数组y的形状和x一样,不同在于y的元素全是1

格式如下:

  • np.ones_like(a, dtype)

举个例子:


🌳np.zeros()

  1. ones函数一样,我们也可以使用zeros函数来创建一个数组对象,不同的是,zeros函数创建的数组的元素全是0

格式如下:

  • zeros(shape, dtype)

举个例子:


🌳np.zeros_like()

  1. 如果我们将一个数组对象x传入zeros_like函数,就可以创建另一个数组对象,比如y,这个数组y的形状和x一样,不同在于y的元素全是0

格式如下:

  • np.zeros_like(a, dtype)

举个例子:


🌳np.full()

  1. 我们可以使用full函数来创建一个数组对象,该数组对象里的所有元素都是同一个值,该值由我们来设定。

格式如下:

  • np.full(shape, fill_value, dtype)

举个例子:


🌳np.full_like()

  1. 比如说,我们可以使用full_like函数来创建一个数组对象x,该x对象与传入的数组对象y一样大(即相同的shape),但是x的所有元素的值都是一样的,并且由我们来设定。

格式如下:

  • np.full_like(a, fill_value, dtype)

举个例子:



5️⃣一些随机函数的总结

💡randint()

我们可以利用randint()函数创建一个随机分布整数型数组

格式为:

举例:

💡randn()

我们可以利用randn(d0,d1,...dn)创建服从X~N(0,1)正态分布随机数组(均值为0,方差为1)

举例:

💡random()

我们可以利用random(size)函数创建一个随机数组,元素取值在0.0~1.0之间

举例:

💡shuffle()

我们可以利用shuffle(x)函数来将一个数组的值随机排列。

举例:

需要注意的是,如果要改变的数组是多维的,那么只会在第一维度打散数据。比如我们要将一张学生信息表打乱,我们只会将每一行给随机排列,而每一列的值并没有改变

举例:

💡permutation()

我们可以利用permutation(x)函数来将一个数组的值随机排列。,和shuffle()很类似,不同点在于,permutation()不会改变原来的数组,它只是返回一个拷贝。

举例:

6️⃣最后

好了,以上就是一些创建数组对象的简便方法,如果你有想补充的话,欢迎到评论区里讨论!

举报

相关推荐

0 条评论