千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > Numpy数值计算基础

Numpy数值计算基础

来源:千锋教育
发布人:xqq
时间: 2023-12-02 23:54:03 1701532443

NumPy是用于数据科学计算的基础模块,不但能够完成科学计算的任务,而且能够被用作高效的多维数据容器,可用于存储和处理大型矩阵。NumPy 的数据容器能够保存任意类型的数据,这使得 NumPy 可以无缝并快速地整合各种数据。NumPy 本身并没有提供很多高级的数据分析功能。理解 NumPy 数组及数组计算有助于更加高效地使用诸如 pandas等数据处理工具。

Python 提供了一个 array 模块。array 和 list 不同,它直接保存数值,和C语言的一维数组比较类似。但是由于 Python 的 array 模块不支持多维,也没有各种运算函数,因此也不适合做数值运算。NumPy 的诞生弥补了这些不足。NumPy 提供了一种存储单一数据类型的多维数组-ndarray。

一、创建数组对象

NumPy 提供了两种基本的对象: ndarray( N-dimensionalArray Object)和 ufunc( UniversalFunction Object)。ndarray(下文统一称为数组)是存储单一数据类型的多维数组,而 ufunc则是能够对数组进行处理的函数。

1、数组属性

为了更好地理解和使用数组,在创建数组之前,了解数组的基本属性是十分有必要的。数组的属性及其说明如下表所示。

2、数组创建

NumPy提供的array函数可以创建一维或多维数组,其基本使用格式如下。

numpy.array(object, dtype=None, *, copy=True, order='K', subok=False, ndmin=0, like=None)

array函数主要参数及其说明如下表。

除了使用array函数创建数组之外,还可以使用arange函数创建数组。arange函数类似于Python自带的函数range,通过指定开始值、终值和步长来创建一维数组,创建的数组不含终值。arange函数的基本使用格式如下。

numpy.arange([start, ]stop, [step, ]dtype=None, *, like=None)

arange函数常用参数及其说明如下表。

linspace函数通过指定开始值、终值和元素个数来创建一维数组,默认设置包括终值,这一点需要和arange函数区分。linspace函数的基本使用格式如下。

numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)

linspace函数的常用参数及其说明如下表。

logspace函数和linspace函数类似,它创建的是等比数列。logspace函数的基本使用格式如下。

numpy.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None, axis=0)

在logspace函数的参数中,除了base参数和linspace函数的retstep参数不同之外,其余均相同。

NumPy还提供了其他函数用于创建特殊数组,如zeros、eye、diag和ones函数等。

zeros函数:用于创建值全部为0的数组,即创建的数组值全部填充为0。

eye函数:用于生成主对角线上的元素为1,其他的元素为0的数组,类似单位矩阵。

diag函数:创建类似对角的数组,即除对角线外的其他元素都为0,对角线上的元素可以是0或其他值。

ones函数:用于创建元素全部为1的数组,即创建的数组元素全部填充为1。

3. 数组数据类型

在实际的业务数据处理中,为了更准确地计算结果,需要使用不同精度的数据类型。

NumPy极大程度地扩充了原生Python的数据类型。在NumPy中,所有数组的数据类型是同质的,即数组中的所有元素类型必须是一致的。将元素类型保持一致可以更容易确定该数组所需要的存储空间。

NumPy的基本数据类型及其取值范围如下表。

tags: IT培训
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT