Python25 Numpy基础

图片

1.什么是Numpy

NumPy(Numerical Python 的简称)是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。NumPy 的前身是 Numeric,这是一个由 Jim Hugunin 等人开发的一个用于数值计算的扩展程序库。由于 Numeric 的一些问题,Jim Hugunin 创建了另一个库叫 SciPy,用于弥补 Numeric 的一些不足。之后,NumPy 开发人员将 Numeric 和 SciPy 整合成一个新的库——NumPy,这使得 NumPy 在功能上更加完善。

NumPy 的主要特点包括:

  1. 强大的 N 维数组对象:NumPy 使用一个 n 维数组对象 ndarray,可以方便地存储和操作大型多维数组和矩阵,并提供大量的数学函数库用于数组运算。

  2. 广播功能:广播是 NumPy 对不同形状数组进行数值计算的方式,它对 NumPy 数组的所有运算都适用。

  3. 整合 C/C++/Fortran 代码的能力:NumPy 的大量算法都经过优化,可以直接使用 C、C++ 或 Fortran 编写的代码,这样就可以避免 Python 自带的循环的低效率问题。

  4. 用于线性代数的函数库:NumPy 提供了很多用于线性代数的函数库,如矩阵乘法、矩阵求逆、求解线性方程组等。

  5. 用于统计学的函数库:NumPy 提供了许多用于统计学的函数,如计算均值、中位数、标准差等。

  6. 用于随机数的函数库:NumPy 提供了随机数生成的功能,可以生成符合各种分布的随机数。

  7. 用于快速傅里叶变换的函数库:NumPy 提供了快速傅里叶变换的函数库,用于信号处理和图像处理等领域。

NumPy 在科学计算、数据分析、机器学习等领域有着广泛的应用,是 Python 中最重要的科学计算库之一。

2.Numpy快速入门

NumPy中数组的维称作轴(axis),轴的个数叫做行(rank)。比如:[1, 2, 1],轴的个数为1,行(rank)就是1。

[[ 1., 0., 0.], [ 0., 1., 2.]] 上面这个数组有2行(也就是它是2维的),第一位维度的长度为2(也就是2行),第二维度的长度为3(也就是3列)

NumPy的数组类叫作ndarray,下面是ndarray的几个重要属性:

ndarray.ndim:数组的轴的个数(就是维数)

ndarray.shape:数组的维度(是一个元组)。比如矩阵有n行m列,那么shape为(n,m)

ndarray.size:数组元素的个数。也是shape(n,m)元素的乘积

ndarray.dtype:数组元素类型的描述。例如:numpy.int32, numpy.int16, and numpy.float64 ;

ndarray.itemsize:数组每个元素的字节大小。对于类型为floa64的元素,itemsize为8(=64/8,1byte=8bit)

ndarray.data:数组的缓存数据。通常情况下通过索引获取数据,不必要使用这个属性

以下是numpy的一些常用方法:

import numpy  as np
a=np.arange(15)  # 生成从0开始(包括0),到15(不包括15)的一维整数数组
b=a.reshape(3,5)  # 一维数组重塑为二维数组

print(a)
print(b)
print("b.shape=",b.shape)  # 打印数组的形状
print("b.ndim=",b.ndim)  # 数组的维度数
print("b.dtype.name=",b.dtype.name)  # 数组的数据类型名称
print("b.itemsize=",b.itemsize)  # 数组中每个元素的大小(以字节为单位)
print("b
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值