一、为什么学习 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 的安装、数组创建、属性查看及切片索引操作,通过实战练习可快速掌握基础用法。后续可进一步学习数组的运算、广播机制等高级特性,为数据分析和机器学习打下坚实基础
867

被折叠的 条评论
为什么被折叠?



