一、为什么学习 NumPy?
在数据科学与计算领域,高效处理大规模数值数据是核心需求。NumPy 作为 Python 的开源科学计算库,提供了强大的 N 维数组对象(Ndarray),能够直接对数组和矩阵进行操作,大幅减少循环语句的使用,配合丰富的数学函数,让数据处理代码更简洁、运行更高效。无论是数据分析、机器学习还是科学计算,NumPy 都是不可或缺的基础工具。
二、Ndarray 对象:NumPy 的核心
Ndarray 是 NumPy 中用于存储同类型元素的多维数组,以 0 下标为起始索引。它是 NumPy 高效处理数据的基础,相比 Python 原生列表,具有内存占用低、运算速度快的优势。
三、创建 Ndarray 数组的常用函数
1. array()
:从序列创建数组
原型:numpy.array(object, dtype=None, copy=True, order=None, subok=False, ndmin=0)
作用:将列表、元组等序列转换为 Ndarray 数组。
参数说明:
object
:输入的序列(如列表、嵌套列表);dtype
:指定数组元素的数据类型(可选);ndmin
:指定数组的最小维度。-
2.
empty()
:创建未初始化数组原型:
numpy.empty(shape, dtype=float, order='C')
作用:创建指定形状和数据类型的数组,元素值为内存中的随机值(未初始化)。
参数说明: shape
:数组形状(如(3, 2)
表示 3 行 2 列);order
:内存存储顺序('C'
为行优先,'F'
为列优先)。-
3.
zeros()
:创建全 0 数组原型:
numpy.zeros(shape, dtype=float, order='C')
作用:创建指定形状的数组,所有元素初始化为 0。 -
4.
ones()
:创建全 1 数组原型:
numpy.ones(shape, dtype=None, order='C')
作用:创建指定形状的数组,所有元素初始化为 1。 -
5.
full()
:创建指定值填充的数组原型:
numpy.full(shape, fill_value, dtype=None, order='C')
作用:创建指定形状的数组,所有元素填充为fill_value
。 -
6.
eye()
:创建单位矩阵原型:
numpy.eye(N, M=None, k=0, dtype=float, order='C')
作用:创建对角线为 1、其余元素为 0 的矩阵(单位矩阵)。 -
7.
arange()
:创建等差数列原型:
numpy.arange([start, ]stop, [step, ]dtype=None)
作用:生成一个由等差数列构成的一维数组(类似 Python 的range
,但返回数组)。 -
8.
linspace()
:创建等间隔数列原型:
numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
作用:在[start, stop]
范围内生成num
个等间隔的元素。 -
9. 随机数生成函数
NumPy 的
random
模块提供了多种生成随机数的函数,常用的有: rand()
:生成[0, 1)
之间的随机数;random()
:生成[0, 1)
之间的随机数(仅支持一维数组);randint()
:生成指定范围的整数随机数;randn()
:生成符合标准正态分布(均值 0,标准差 1)的随机数;normal()
:生成符合高斯分布的随机数。
三、Ndarray 数组的属性
通过数组的属性可以快速了解其维度、大小等信息,常用属性如下:
属性 | 说明 |
---|---|
ndim | 数组的维度(秩) |
shape | 数组的形状(如(n, m) 表示 n 行 m 列) |
size | 数组元素的总个数(n*m ) |
dtype | 元素的数据类型 |
itemsize | 每个元素占用的字节数 |
NumPy 作为数据科学的基础库,其核心的 Ndarray 对象为高效数值计算提供了支撑。本文介绍了 NumPy 的安装、数组创建、属性查看及切片索引操作,通过实战练习可快速掌握基础用法。后续可进一步学习数组的运算、广播机制等高级特性,为数据分析和机器学习打下坚实基础