详解numpy.ndarray.reshape()函数的参数问题
#代码知识 发布时间: 2026-01-12
我们知道numpy.ndarray.reshape()是用来改变numpy数组的形状的,但是它的参数会有一些特殊的用法,这里我们进一步说明一下。代码如下:
import numpy as np
class Debug:
def __init__(self):
self.array1 = np.ones(6)
def mainProgram(self):
print("The value of array1 is: ")
print(self.array1)
print("The array2 is: ")
array2 = self.array1.reshape(2, 3)
print(array2)
if __name__ == '__main__':
main = Debug()
main.mainProgram()
"""
The value of array1 is:
[1. 1. 1. 1. 1. 1.]
The array2 is:
[[1. 1. 1.]
[1. 1. 1.]]
"""
这里我们看到我们将一个长度为6的一维数组变成了一个尺寸为(2, 3)的二维数组,这里的2代表2行,对应y轴,3代表3列,对应x轴。
然而有时候我们会在reshape中使用到-1这个参数,当使用这个参数时,会将数组重新塑形变得十分简单。代码如下:
class Debug:
def __init__(self):
self.array1 = np.ones(6)
def mainProgram(self):
print("The value of array1 is: ")
print(self.array1)
print("The array2 is: ")
array2 = self.array1.reshape(-1, 3)
print(array2)
if __name__ == '__main__':
main = Debug()
main.mainProgram()
"""
The value of array1 is:
[1. 1. 1. 1. 1. 1.]
The array2 is:
[[1. 1. 1.]
[1. 1. 1.]]
"""
我们可以看到当我们将reshape的第一个参数变为-1时,我们仍旧获得了一个尺寸为(2, 3)的数组,其实在这里,-1代表的意思为6 / 3 =2,其中6是被塑形一维数组的长度,3是我们指定的二维数组一个方向的维度。这样的好处就是当数据量比较大时,我们在二维数组重新塑形时只需要指定一个维度上的尺寸,另一个维度上的尺寸python会自动为我们计算。
代码知识SEO上一篇 : 推荐几款实用的C++ 在线工具
下一篇 : 深入了解tomcat中servlet的创建方式实现
-
SEO外包最佳选择国内专业的白帽SEO机构,熟知搜索算法,各行业企业站优化策略!
SEO公司
-
可定制SEO优化套餐基于整站优化与品牌搜索展现,定制个性化营销推广方案!
SEO套餐
-
SEO入门教程多年积累SEO实战案例,从新手到专家,从入门到精通,海量的SEO学习资料!
SEO教程
-
SEO项目资源高质量SEO项目资源,稀缺性外链,优质文案代写,老域名提权,云主机相关配置折扣!
SEO资源
-
SEO快速建站快速搭建符合搜索引擎友好的企业网站,协助备案,域名选择,服务器配置等相关服务!
SEO建站
-
快速搜索引擎优化建议没有任何SEO机构,可以承诺搜索引擎排名的具体位置,如果有,那么请您多注意!专业的SEO机构,一般情况下只能确保目标关键词进入到首页或者前几页,如果您有相关问题,欢迎咨询!