Py深度学习基础|关于reshape()函数

devtools/2024/10/18 1:36:39/

在代码中经常能看到reshape((1, -1))或者reshape((-1, 1))的用法,这里予以记录,如有错误还请大佬指正。


reshape函数用于改变数组或系列的形状。当使用-1作为参数时,它是一种灵活的方式来告诉函数自动帮助计算出应该有的行数或列数,以保持数组元素总数不变。

1. reshape((-1, 1))

当使用reshape((-1, 1))时,你是在告诉函数你想把数组重塑为只有一列的二维数组,而行数由系统根据原始数组的元素数量自动计算得出。这意味着,无论原始数组的形状如何,重塑后都会变成多行一列的形式。

举个例子:

import numpy as nparr = np.array([1, 2, 3, 4, 5])
reshaped_arr = arr.reshape((-1, 1))

在这个例子中,arr是一个有5个元素的一维数组。重塑后,reshaped_arr会变成一个形状为(5, 1)的二维数组,结果即:

[[1],[2],[3],[4],[5]]

2.reshape((1, -1))

相反,当你使用reshape((1, -1))时,数组就重塑为只有一行,其中列数由系统根据原始数组的元素数量自动确定。这样,所有原始数据会被排列在同一行中。

继续上面的例子,可以看到生成了一个一行的二维数组:

reshaped_arr = arr.reshape((1, -1))[[1, 2, 3, 4, 5]]

3.总结

总结来说,-1作为一个占位符,允许你在不知道确切的行数或列数时,仍然能够调整数组的形状。


http://www.ppmy.cn/devtools/34486.html

相关文章

YashanDB与帆软信创商业智能软件完成兼容互认证

近日,深圳计算科学研究院崖山数据库系统YashanDB与帆软信创商业智能软件(V6.0)顺利完成兼容性互认证,经严格测试,双方产品能够相互兼容,稳定运行。 崖山数据库系统YashanDB是深圳计算科学研究院自主研发设计…

C语言实战项目--贪吃蛇

贪吃蛇是久负盛名的游戏之一,它也和俄罗斯⽅块,扫雷等游戏位列经典游戏的行列。在编程语言的教学中,我们以贪吃蛇为例,从设计到代码实现来提升大家的编程能⼒和逻辑能⼒。 在本篇讲解中,我们会看到很多陌生的知识&…

38、商城系统(十九):事务、分布式事务,seata实现分布式事务,mq延时队列实现分布式事务以及流程梳理

一、本地事务 1.事务的特性 ACID,即:原子性,一致性,隔离性,持久性 2.事务隔离级别 isolation: READ UNCOMMITTED:脏读,读到其它未提交事务的数据READ COMMITTED:不可重复读问题,一个事务可以读取另一个已提交的事务,多次读取会造成不一样的结果REPEATABLE READ:虚读…

前后端分离,使用sa-token作为安全框架快速搭建一个微服务项目

目录 1、项目简介 2、新建一个maven的聚合工程,并引入一些相应的版本控制。 2.1、新建一个maven项目,去掉src目录。作为我们整个微服务项目的父模块,并在这个模块中进行依赖的管理 2.2、在父模块下新建三个子模块(sa-gateway、…

代码随想录训练营Day24:贪心算法解决买卖股票和跳跃游戏

1.122买卖股票的最佳时机二 贪心策略&#xff1a;按一天为时间&#xff0c;找到里面收益为正的时候&#xff0c;然后累加。 price[i]-price[j] (price[i]-price[i-1])(price[i-1]-price[i-2])...(price[j1]-price[i]) class Solution { public:int maxProfit(vector<int…

webGL=>着色器的变量声明、设置、预定变量等

目录 简介 变量特点 1. Attribute 变量 2. Uniform 变量 3. Varying 变量 4. Const 变量 5. 预定义变量 示例&#xff1a; 1. 顶点着色器示例 2. 片元着色器示例&#xff1a; 设置attribute示例 设置uniform示例 完整代码示例&#xff1a; 简介 着色器中变量声明…

斐波那契数

509. 斐波那契数 斐波那契数 &#xff08;通常用 F(n) 表示&#xff09;形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始&#xff0c;后面的每一项数字都是前面两项数字的和。也就是&#xff1a; F(0) 0&#xff0c;F(1) 1 F(n) F(n - 1) F(n - 2)&#xff0c;其中 …

常见的容器技术有哪些

容器技术是一种轻量级的软件封装方式&#xff0c;它将软件代码及其依赖项打包在一起&#xff0c;这样应用可以在任何支持容器的系统上无缝运行。它允许应用程序及其依赖项在一个隔离的环境中运行&#xff0c;这个环境被称为容器。容器技术有助于提高应用程序的可移植性、一致性…