numpy.reshape(-1,1)的具体使用

周末不加班
周末不加班
发布时间:2026-10-15| 6人浏览过
原创

本文详细解析numpy中reshape(-1,1)与reshape(1,-1)的具体用法。通过多个代码示例,说明当指定新数组shape为-1时,Numpy如何根据剩余维度自动计算。重点区分单特征数据使用reshape(-1,1)转为列向量,以及单样本数据使用reshape(1,-1)转为行向量的场景,帮助开发者准确处理数据维度。

数组新的shape属性必须与原始数组的元素总数保持一致。若将某个维度设为-1,Numpy会根据其余已确定的维度,自动推算出该维度的具体数值,从而确定数组的最终形状。

以下通过具体示例进行说明:

x = np.array([[2, 0], [1, 1], [2, 3]])

若指定新数组的行数为3,列数为2,则执行如下操作:

y = x.reshape(3,2)
 
y
Out[43]: 
array([[2, 0],
       [1, 1],
       [2, 3]])

若指定新数组的列数为1,则执行如下操作:

y = x.reshape(-1,1)
 
y
Out[34]: 
array([[2],
       [0],
       [1],
       [1],
       [2],
       [3]])

若指定新数组的列数为2,则执行如下操作:

y = x.reshape(-1,2)
 
y
Out[37]: 
array([[2, 0],
       [1, 1],
       [2, 3]])

若指定新数组的行数为1,则执行如下操作:

y = x.reshape(1,-1)
 
y
Out[39]: array([[2, 0, 1, 1, 2, 3]])

若指定新数组的行数为2,则执行如下操作:

y = x.reshape(2,-1)
 
y
Out[41]: 
array([[2, 0, 1],
       [1, 2, 3]])

numpy中reshape(-1,1)与reshape(1,-1)的作用

当数据仅包含一个特征时,可使用reshape(-1,1)将其转换为二维列向量;若数据仅包含一个样本,则可使用reshape(1,-1)将其转换为二维行向量。

e = np.array([1]) #只包含一个数据
f = e.reshape(1,-1) #改变形状,输出f之后发现它已经变成了二维数据
import numpy as np
a = np.array([[1,2,3],[4,5,6]]) #是两行三列的数据,二维
b = np.array([1,2])    #是一维数据
c = b.reshape(-1,1)    #c已经变成了二维数据,变成了两行一列
d = b.reshape(1,-1)    #d变成了一行两列的数据,
print('b.shape is {0}'.format(b.shape))
print(b)
print('c.shape is {0}'.format(c.shape))
print(c)
print('d.shape is {0},d array is {1}'.format(d.shape,d))

可以看出,reshape(-1,1)的作用是将一维数据沿行方向扩展,形成多行单列的结构;而reshape(1,-1)则是将一维数据沿列方向扩展,形成单行多列的结构。

以上就是关于numpy.reshape(-1,1)具体使用的详细介绍,更多相关numpy.reshape(-1,1)内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

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

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 算法库。