← 返回首页
掌握NumPy数组对象ndarray
发表时间:2024-03-03 02:28:17
掌握NumPy数组对象ndarray

Numpy是python通用的数组处理包。它提供了一个高性能的多维数组对象,以及用于处理这些数组的工具。

1.创建数组对象

NumPy提供了两种基本的对象。 - ndarray(N-dimensional Array Object):存储单一数据类型的多维数组。 - ufunc(Universal Function Object):能够对数组进行处理的函数。

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参数不同之外,其余均相同。

==注意:stop是以base为底stop次方的值为结束值。==

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

3).数组数据类型

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

2.生成随机数

手动创建数组往往很难达到数量要求,NumPy提供了强大的生成随机数的功能。然而,真正的随机数很难获得,在实际中使用的都是伪随机数。在大部分情况下,伪随机数就能满足获取的需求。当然,某些特殊情况除外,如进行高精度的模拟实验。

对于NumPy,与随机数相关的函数都在random模块中,其中包括了可以生成服从多种概率分布随机数的函数。

常见的随机数函数有以下几个:

random函数是最常见的生成随机数的方法,random函数的基本使用格式如下。

numpy.random.random(size=None)

参数size接收int,表示返回的随机浮点数大小,默认为None。

3.通过索引访问数组

NumPy通常以提供高效率的数组著称,这主要归功于索引的易用性。

  1. 一维数组的索引 一维数组的方法很简单,与Python中的list的索引方法一致。
  2. 多维数组的索引 多维数组的每一个维度都有一个索引,各个维度的索引之间用逗号隔开。 多维数组同样也可以使用整数序列和布尔值索引进行访问。

4.变换数组的形态

常见的变换数组形态函数如下: