Python中的Numpy

说明:

NumPy是一个高性能的科学计算和数据分析基础包,在数据分析领域有很多应用;

具有多维数组对象、线性代数、傅里叶变换和随机数等强大功能;

一、Numpy的安装

在平时的使用中,我们习惯将“import numpy”写成“import numpy as np”。

二、多维数组

说明:

  • 为了便于理解,可以将“多维数组”想象成一个用于存放数据的表格;
  • 表格存放的是同一类型的数据;
  • 可以通过索引值来提取表格中的数据(索引值用整数表示);

1、创建多维数组

常用Numpy中的array创建多维数组;

演示:

创建一维数组——

image.png

创建高维数组——

image.png

数组与列表——

image.png

(可以看出,所谓创建数组就是将列表作为参数传递给array,)

 

(1)用ones创建元素全为1的指定维度的数组

image.png

更新数组中的元素

image.png

若要改“第2行,第3列”,则改“[1,2]”

(2)用zeros创建元素全为0的指定维度的数组

image.png

(3)用empty创建元素全为无意义数的指定维度的数组

image.png

根据给定的维度和数值类型返回一个新的数组,其元素不进行初始化

如果先创建一个元素全为0的数组,然后再用empty创建数组,那么得到的新数组也全为0,如下所示:

  • 运行zeros

image.png

  • 运行empty

image.png

 

(4)用random.rand创建元素全为随机数的指定维度的数组

image.png

关于创建随机数的数组可参考——

https://www.cnblogs.com/jason--/p/11567316.html

2、多维数组的常用属性

(1)ndim返回数组的维数

(2)shape返回数组的维度

(3)size返回数组的元素总数

(4)dtype返回数组的元素的数据类型

(5)itemsize返回数组中元素的字节大小

3、数组的打印

说明:

就是用print打印输出

 

三、多维数组的基本操作

说明:

这些操作包括算数运算索引乘法除法算数运算;

1、数组的算术运算

加、减、乘、除

image.png

可以看出来,数组运算不同于矩阵运算,数组运算有除法,而矩阵运算没有,数组运算的乘法是对应点相乘;

如何由数组实现矩阵运算?

下面有两种方法:(建立数组a & b

  • 方法一:a.dot(b)
  • 方法二:np.dot(a,b)

image.png

2、数组的自身运算

除了数组与数组、数组与标量之间的算术运算,我们还可以通过自定义一些方法来对数组本身进行操作;

  • min​:找出所有元素中,值最小的元素(可以通过设置axis的值来按行或者列查找元素中的最小值)
  • max​:找出所有元素中,值最大的元素(同上可按或者查找元素中的最大值)
  • sum​:对所有元素进行求和运算,并返回运算结果(可通过设置axis的值来按行或者列对元素进行求和运算)

演示:

image.png

  • exp​:对所有元素进行指数运算。
  • sqrt​:对所有元素进行平方根运算。
  • square​:对所有元素进行平方运算。

演示:

image.png

在多维数组中通过对​axis​参数进行不同的设置可以得到不同运算结果:

  • 当axis为0时,计算方向是针对数组的列的;
  • 当axis为1时,计算方向是针对数组的行的;

3、随机数组

NumPy生成不同属性的随机数方法如下:

  • seed​:随机因子,在随机数生成器的随机因子被确定后,无论我们运行多少次随机程序,最后生成的数字都是一样的,随机因子更像把随机的过程变成一种伪随机的机制,不过这有利于结果的复现。
  • rand​:生成一个在[0,1)范围内满足均匀分布的随机样本数。
  • randn​:生成一个满足平均值为0且方差为1的正太分布随机样本数。
  • randint​:在给定的范围内生成类型为整数的随机样本数。
  • binomial​:生成一个维度指定且满足二项分布的随机样本数。
  • beta​:生成一个指定维度且满足beta分布的随机样本数。
  • normal​:生成一个指定维度且满足高斯正太分布的随机样本数。

4、索引、切片和迭代

(见书)

后续补充~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值