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

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


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

1. reshape((-1, 1))

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

举个例子:

import numpy as np

arr = 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作为一个占位符,允许你在不知道确切的行数或列数时,仍然能够调整数组的形状。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值