numpy库

本文介绍了NumPy的基础知识,包括如何创建ndarray对象,如使用arange和random函数,以及数组的属性如shape和dtype。讨论了数组的切片、转置、拼接与分割操作,并举例说明了reshape方法。此外,还涵盖了正态分布的生成及数组复制。通过实例展示了如何在Python中高效进行科学计算。
摘要由CSDN通过智能技术生成

'''尚学堂学习笔记,用于复习'''

NumPy:是科学计算基础库,提供大量科学计算相关功能,比如数据统计,随机数生成等。其提供最核心类型为多维数组类型(ndarray),支持大量的维度数组与矩阵运算,NumPy支持向量处理ndarray对象,提高程序运算速度。

尝试代码与运行结果:

 

array创建ndarray对象

 arange创建ndarray对象

 

使用random.random创建数组,元素范围为[0.0, 1.0)

 使用random.randint创建数组,可以通过dtype改类型,默认int64

生成标准正态分布


生成指定期望和方差的正态分布

 以上生成的均为ndarray对象,ndarray常见的几个属性

ndarray.ndimin:秩,维度的数量

ndarray.shape:如n行m列

ndarray.size:元素总个数,如n行m列的元素个数为n*m

ndarray.dtype:ndarray对象元素类型

ndarray.itemsize:单个元素的大小,单位为字节

创建指定元素大小的数组方法

 

 使用linspace创建等差数列

 使用logspace创建等比数列

一维数组的切片操作,类比字符串的切片操作即可

 

 二维数组的切片操作,类比一维即可

  负
负索引在倒序的应用

数组的复制

 

 

 

 reshape方法改变数组形状(会生成新的对象)

 数组的拼接

对于二维数组

hstack(a, b)将a和b进行水平拼接,形象上的水平

vstack(a, b)将a和b进行竖直拼接

对于三维数组

concatenate((a, b), axis=n),将a和b进行拼接,方式取决于axis,axis=0竖直拼接,axis=1水平拼接,axis=2按第三维拼接

用数学公式表示为,设a是形状为(x1, y1, z1)的数组,b是形状(x2, y2, z2)的数组,如果axis=0,

则拼接后设为c,c为形状为(x1+x2,y1,z1)的数组,如果axis=1,为(x1, y1 + y2, z2)的数组,当且仅当所有不被拼接的那维大小相等程序能正常进行,即当axis=1时,y1+y2能进行的充分必要条件为x1 = x2, z1 = z2,对y1和y2的大小没有限制

数组的分割

 

 

二维数组的分割多了一个axis参数,类比一维的分割方式即可

 数组的转置

       np.transpose(a),若a之前为(i, j, k),转置后为(k, j, i)

        也可指定参数,如np.transpose(a, (2, 0, 1)),若a之前为(i, j, k),即分别将第二维,第零维,第一维放在指定位置,即(k, i, j)

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值