首页 > 其他分享 >《专题》numpy科学计算基础库——精讲<3>

《专题》numpy科学计算基础库——精讲<3>

时间:2024-07-24 12:26:48浏览次数:13  
标签:计算 科学计算 精讲 元素 拼接 数组 np numpy axis

一、numpy库的用法

        首先需要导入一下from numpy as np ,之后调用函数就直接使用np.array()

 

二、实操numpy库函数

       

1、hstack(),水平方向拼接

np.hstack它通过水平堆叠来生成数组。如下图所示,将两行三列的二维数组a和二维数组b水平方向拼接,得到一个两行六列的二维数组

bb588376a29e4a069066c1be7bb5df73.png

 

2、vstack():垂直方向拼接

通过垂直堆叠来生成数组,如下图所示,将两个两行三列的数组垂直方向拼接,得到一个四行三列的二维数组。

187d366f77f64e8482621d04945cd123.png

 

3、dstack() 沿Z轴方向拼接

 

fe55a9cdeafd479aa302ffea97a698f6.pngfe2f6f88a350459f96799c5cf83ae13a.png

 

 

4、concatenate()

axis=0则垂直方向拼接,axis=1则水平方向拼接,axis=2则沿z轴方向拼接

9b6d94ab4b1544e5bca625a16b4c2035.png

如下图,先定义两个三维数组,再将他们垂直方向拼接起来

72e1cb89458c4b09b5e170f45c1aee04.png  fa449e8c45a94b138bcc959a81b7af36.png

使用shape来查看数组的维度情况,如下所示即为拼接后的维度状态

4d317051dc38420fbcce0e9dc6fbccc4.png

 

5、transpose:转置 或 T

 如下图所示,即行变成列,列变成行

c2607c1a63784a188205fb31609912fd.png  7a47b070927343c8a04f7d513124fe60.png

 

6、split : 数组的分隔

        numpy.split 函数沿特定的轴将数组分割为子数组,格式如下:

 

e6ef822ada93494b81c3fe2a9b94af22.png

首先可以直接均分数组,如下第一张图,另外可以选择元素进行分隔,如下第二张图

1efcdd9eec0446a3a49193fc71f90aa0.pnge71a6dcd8e6e47ed92a69c2044df9693.png

 

6.1 hsplit 水平分隔

        使用hsplit函数可以 水平分隔数组,该函数有 两个参数,第1个参数表示 待分隔的数组,第2个参数表示要将数组水平分隔成 几个小数组

bd27402adbea420db098384f257d0209.png

 

6.2  vsplit 垂直分隔数组

        使用vsplit函数可以垂直分隔数组,该函数有两个参数,第1个参数表示待分隔的数组,第2个参数表示将数组垂直分隔成几个小数组。

 

bb8564b6c1c449d9aba942e2a080b712.png

 

7、数学函数

3f74482e9cf54c74a2c18d8ab4157634.png

d4942db7fdfd47b8a7d32eb5450d04e5.png

7.1 abs、fabs计算绝对值

abs计算绝对值,如果元素里有整数和浮点数,那么输出全部是浮点数,如果全为整数,那么输出为整数

fabs计算绝对值,不管元素是什么类型,全部输出浮点型

0775c7a74e8643108d566388d3167037.png

7.2 sqrt :计算各元素平方根

7.3 reciprocal :计算个元素的倒数

        7.3.1 利用循环遍历出列表的所有的元素

240fa5e1875c4ee78a1c11083ad08894.png

        7.3.2 可直接求导

03a234340ec14d62bc3e46260561e2ed.png

 

7.4 square() :计算各元素的平方

e1006db90f4e4159bca7ad150eb1a9e4.png

 

7.5 exp() : 计算各元素的指数ex

01cbe894ff9a41ecbfd5cd8e1f9de30b.png

 

7.6  np.log()  / np.log10() / np.log2()

        计算各元素的自然对数、底数为10的对数、底数为2的对数

 

7.7 sign 计算各元素符号(1整数,0零,-1负数)

 

34f7ccedaca24cd984aa6c9212d97401.png

 

7.8  ceil、floor、rint/around :

ceil:向上取整

floor:向下取整

rint/around:四舍五入

875effea71824bba95c33bed27ceb3dd.png

 

7.9 modf :将小数部分和整数部分以两个独立数组分开

4207f0e7a76f4922aa41b537c651b33b.png

 

7.10 cos / sin / tan 求各元素的三角函数

 

8、算数函数

06ff6d07414949ca83ec7077bb1b4361.png

        如果参与运算的两个对象 都是ndarray,并且形状相同,那么会对位彼此之间进行(+ - * /)运算。

8.1  add() 加法

add() 括号内的参数除了可以使用两个数组相加以外,还可以只用一个数字和一个数组的加法

80e3c21f35fb418d90e080a3acc3bd4e.png

       

8.2 subtract() 减法

subtract() 括号内的参数除了可以使用两个数组相减以外,还可以只用一个数字和一个数组的减法

40872d1135594f56a13081458c8f7bcb.png214e9c1835b44a2eb33a6de09a79cd3f.png

 

8.3 mutiply() 乘法

mutiply()括号内的参数除了可以使用两个数组相乘以外,还可以只用一个数字和一个数组的乘法

11bf9fc257bf4b68a61a5e5a22154d8b.png

 

8.4 divide 除法

divide()括号内的参数除了可以使用两个数组相除以外,还可以只用一个数字和一个数组的除法

ad2dc8bfa1174c1a9a1531fecde52286.png

 

8.5 out参数的使用

       out参数用于指定输出结果的存储位置,以避免创建临时数组并提高性能。通过将out参数设置为一个已经创建的数组,可以在计算中直接将结果存储在这个数组中,而不是创建一个新的数组来存储结果。

f25592732f3b4616894a622b2165daeb.png

 

8.6 mod() / remainder() 也 :计算输入数组中相应元素的相除后的余数

382e8998a1304b4a8f47f13ee9d5dfee.png

 

 

9、统计函数 

        NumPy 提供了很多统计函数,用于从数组中查找最小元素,最大元素,百分位标准差和方差等。 如果括号内有属性axis=0,则表示沿着列计算,如果axis=1,则表示沿着行计算,具体如下:  

6c745f072bcb4e91a2c4ab79569974ad.png

9.1、np.sum() :求和

可以对两个数组进行分别求和在相加,也可以对一个单独数组内的元素进行求和

e5a90af4956b4b3396f0af0e1ae709bd.png28d5a63b43e3417083ddf314ea6280f0.png

 

9.2 np.prod() :所有元素相乘

87d9200427f74beab7cd555e789da654.png

 

9.3 np.mean() :平均值

        多维数组则分别计算单个列表内的平均值,之后再对计算出来的每一个值再进行平均值计算

027825a0069d46a18dcd0ca618ffe35e.png

 

9.4 np.std() : 标准差(方差的算数平方根)

即计算各维度数组的标准差后再对分别求出来的值再进行标准差计算

如果括号内有属性axis=0,则表示沿着列计算,如果axis=1,则表示沿着行计算

1d4d369764aa46c2a335c89cc823f89e.png

 

9.5 np.var()  :方差

多维数组同样有参数axis选择沿什么方向计算

afec8e2a6c504d82a84b27d2373346c9.png

9.6 np.median() :中位数

b989a167da39488e8a462942bd231710.png

9.7 np.power() :幂运算

ae97a9c06569440594299bf31d34fc2f.png

9.8 np.sqrt()  :开方

29c0f76e3b6f4a28850df46c8cc592f4.png

9.9 np.min() / np.max()  :最小值、最大值

46488fb36bc64754ab17e316a0f22b9f.png

9.10 np.argmin()  /  np.argmax() :最小值下标/最大值下标(索引值)

2c2e5bbe4bfc4921af6e7c67121c7063.png

9.11  np.cumsum()  :对数组中元素累积求和,可指定轴

累计求和是指对一个序列或数组中的元素进行逐个累加的过程。在数学和统计中,累计求和也被称为累加或累计和。即第一个元素为其本身,第二个元素为前两个元素相加,第三个为前三个相加....

如果是多维数组,可使用axis来指定累计求和的方向

3b015061c41145a9a7da948aca4397aa.png

 

9.12 np.cumprod()  :对数组中元素累积求积,可指定轴

累计求积是指对一个序列或数组中的元素进行逐个累乘的过程。在数学和统计中,累计求积也被称为累乘或累计乘积。即第一个数本身,第二个数为前两个数的积,第三个是前三个数的积,以此类推

如果是多维数组,可使用axis来指定累计求积的方向

2194f415aa2b4a68bc69ceb6ae0c0053.png

 

9.13 np.ptp() :计算一组数中最大值与最小值的差,可指定轴

ac1cfb3a1b8e4737814f9bf071d68a7f.png

 

9.14 np.unique() :删除数组中的重复数据,并对数据进行排序

3f0905a6e79a4ad895ce1f35c6355941.png

9.15 np.nonzero() :返回数组中非零元素的索引

65e6e12b34684d359299ffc0d65b25f4.png

 

 

 

 

标签:计算,科学计算,精讲,元素,拼接,数组,np,numpy,axis
From: https://blog.csdn.net/qq_64603703/article/details/140652951

相关文章

  • AttributeError:模块“numpy”没有属性“concat”
    我编写了一些简单的代码来迭代我正在分析的一组列表,并且发现了此错误-模块“numpy”没有属性“concat”,在这种情况下会有解决方案吗?`我们将用于此分析的股票tech_list=['AMZN','NVDA','VOO','QQQ']设置数据抓取的结束和开始时间tech_list=['AMZN'......
  • 无法正确使用“comm.Gatherv()”来收集大小不均匀的 numpy 数组
    我正在学习MPI4Py,我想实现一个简单的程序。解释这里,每个等级都有一个send_array大小rank+1和值分别等于rank+1rank0=[1]rank1=[22]rank2=[333]rank3=[4444]我想收集值rank=0到缓冲区rbuf它的大......
  • 创建具有标量特征和 N 维坐标向量特征的机器学习 Numpy 数组
    我正在尝试为ML程序格式化我的数据。有33,000个事件,每个事件有3个我想考虑的东西:质量、能量、坐标。质量的形状为(33000,),看起来像:[188.9189.0125.7...127.4201.0210.1]。能量也是(33000,)并且看起来相同:[123...8910]。然后,我还有一个形状为(33000,......
  • Numpy:将掩码应用于值,然后取平均值,但并行
    我有一个1dnumpy值数组:v=np.array([0,1,4,0,5])此外,我有一个2dnumpy布尔掩码数组(在生产中,有数百万个掩码):m=np.array([[True,True,False,False,False],[True,False,True,False,True],[True,True,True,True,True],])我想将......
  • 如何使用 Python 和 Numpy 重现 Matlab 文件读取以解码 .dat 文件?
    我有一个Matlab脚本,可以读取编码的.dat文件,对其进行解码并保存。我试图使用numpy将其转换为Python。我发现对于同一个文件,我得到不同的输出结果(python数字没有意义)。该代码最初作为从串行端口读取的脚本的一部分运行,因此是数据的结构。我首先认为位移是问题所在,因为......
  • 《专题》numpy科学计算基础库——精细化讲解 <1>
    一、什么是numpy库        Numpy(NumericalPython)是科学计算基础库,提供大量科学计算相关功能,比如数据统计,随机数生成等。其提供最核心类型为多维数组类型(ndarray),支持大量的维度数组与矩阵运算,Numpy支持向量处理ndarray对象,提高程序运算速度。二、安装numpy库1......
  • 《专题》numpy科学计算基础库——精细化讲解 <2>
    续接上集:1、reshape函数:重塑数组的形状    改变数组的维度        其语法为numpy.reshape(arr,newshape,order='C')如下图所示        首先生成一个1到17不包括17的16个元素的数组,然后对这个数组进行重塑,使其成为4行4列的二维数组,注意:此处......
  • python每日学习:numpy库的用法(上)
    python每日学习10:numpy库的用法(上)下载numpy库pipinstallnumpy检测环境是否安装importnumpyimportnumpyasnpa=np.arange(10)print(a)array创建数组名称描述dtype数组元素的数据类型,可选copy对象是否需要复制,可选order创建数组的样式,C为行方向,F为列方向,A......
  • Python面试题:使用NumPy进行高效数组运算
    NumPy是Python中进行高效数组运算的基础库。以下是一些示例,展示了如何使用NumPy进行高效的数组运算,包括创建数组、数组操作、数学运算以及一些高级操作。安装NumPy如果你还没有安装NumPy,可以通过以下命令进行安装:pipinstallnumpy示例代码1.创建数组import......
  • Pandas 和numpy 入门详细笔记
    1.安装和导入1.1安装pipinstallpandaspipinstallnumpy1.2导入importpandasaspdimportnumpyasnp2.数据结构2.1Series(系列)定义:一维标签化数组,可以保存任何数据类型(整数、浮点数、字符串等)。创建Series:#从列表创建s=pd.Series([10,20,30,40]......