NumPy reshape() 函数参数与用法详解

陆遥
陆遥
发布时间:2026-10-13| 5人浏览过
原创

本文详细介绍NumPy中reshape函数的使用方法,涵盖参数a、newshape及order的具体含义。通过创建不同维度的数组示例,解析C、F、A三种填充顺序的区别,帮助开发者掌握数组形状变换的核心技巧。

具体实现如下所示:

reshape函数基本语法

在NumPy库中,reshape函数的标准调用格式为:numpy.reshape(a, newshape, order='C')。

参数详细解析

各参数详细说明如下:

1. a:类型为array_like(伪数组,可视为对原始数组的扩展视图,不改变原始数组数据)。

这是需要进行形状重塑的源数组。

2. newshape:定义新数组的形状。

新形状必须与原形状兼容。若指定为整数,结果将是一个长度为该值的一维数组。新形状中的某个维度尺寸可设为-1,此时该维度的值将根据数组总元素数量和剩余维度自动推断得出。

3. order:可选参数,取值包括C、F或A。

C:表示按行优先顺序填充数据。

F:表示按列优先顺序填充数据。

A:表示按数组在内存中的现有布局顺序(默认值)。在此上下文中,通常等效于行优先填充。

4. 返回值:返回一个ndarray对象,即重塑后的一维或多维数组。

实战代码示例

实战演示:

首先,我们需要构建几个不同维度的示例数组。

import numpy as np

上述代码旨在创建一个二维数组。

此处构建了一个形状为2x2的三维数组。

接下来展示四维数组的情况。

(1,2) 表示 [[ 0, 1]] (3,1,2)表示3个(1,2): [[[ 0, 1]], [[ 2, 3]], [[ 4, 5]]], (2,3,1,2)表示2个(3,1,2): [ [[[ 0, 1]], [[ 2, 3]], [[ 4, 5]]],

[[[[ 6, 7]], [[ 8, 9]], [[10, 11]]]]

理解了newshape参数的含义后,reshape函数的基本应用已无大碍。

填充顺序order测试

接下来重点考察order参数的影响。

分别使用C、F、A三种模式进行数据填充测试:

以上即为reshape函数的基本用法总结。

以上就是本文关于NumPy reshape()函数的完整解析,希望能为读者提供有价值的参考,并欢迎大家继续支持本站内容。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。