详解numpy.ndarray.reshape()函数的参数问题


Posted in Python onOctober 13, 2020

我们知道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会自动为我们计算。

到此这篇关于详解numpy.ndarray.reshape()函数的参数问题的文章就介绍到这了,更多相关numpy.ndarray.reshape()函数参数内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python中使用md5sum检查目录中相同文件代码分享
Feb 02 Python
Python多线程编程(四):使用Lock互斥锁
Apr 05 Python
python读取word文档的方法
May 09 Python
Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程
Jul 11 Python
python实现n个数中选出m个数的方法
Nov 13 Python
浅谈Python的条件判断语句if/else语句
Mar 21 Python
使用Python画股票的K线图的方法步骤
Jun 28 Python
python实现与redis交互操作详解
Apr 21 Python
Python中正则表达式对单个字符,多个字符和匹配边界等使用
Jan 27 Python
Python离线安装openpyxl模块的步骤
Mar 30 Python
python 通过使用Yolact训练数据集
Apr 06 Python
python基础之模块的导入
Oct 24 Python
Python求区间正整数内所有素数之和的方法实例
Oct 13 #Python
python关于倒排列的知识点总结
Oct 13 #Python
Python如何使用ElementTree解析xml
Oct 12 #Python
Django ModelForm组件原理及用法详解
Oct 12 #Python
Python ConfigParser模块的使用示例
Oct 12 #Python
python修改微信和支付宝步数的示例代码
Oct 12 #Python
教你如何用python操作摄像头以及对视频流的处理
Oct 12 #Python
You might like
《PHP编程最快明白》第五讲:php目录、文件操作
2010/11/01 PHP
PHP与javascript实现变量交互的示例代码
2013/07/23 PHP
CodeIgniter框架数据库事务处理的设计缺陷和解决方案
2014/07/25 PHP
YiiFramework入门知识点总结(图文教程)
2015/12/28 PHP
学习PHP的数组总结【经验】
2016/05/05 PHP
php实现文件与16进制相互转换的方法示例
2017/02/16 PHP
Laravel 自带的Auth验证登录方法
2019/09/30 PHP
Gird组件 Part-3:范例RSSFeed Viewer
2007/03/10 Javascript
jquery $.ajax入门应用二
2008/11/19 Javascript
jquery 跨域访问问题解决方法(笔记)
2011/06/08 Javascript
js截取小数点后几位的写法
2013/11/14 Javascript
jQuery截取指定长度字符串代码
2014/08/21 Javascript
javascript实现复制与粘贴操作实例
2014/10/16 Javascript
jQuery实现点击后标记当前菜单位置(背景高亮菜单)效果
2015/08/22 Javascript
javascript常用函数(2)
2015/11/05 Javascript
理解JavaScript事件对象
2016/01/25 Javascript
对vue 键盘回车事件的实例讲解
2018/08/25 Javascript
vue移动端模态框(可传参)的实现
2019/11/20 Javascript
js实现简单的贪吃蛇游戏
2020/04/23 Javascript
[02:44]DOTA2英雄基础教程 克林克兹
2014/01/15 DOTA
python 正则表达式 概述及常用字符
2009/05/04 Python
python实现字符串连接的三种方法及其效率、适用场景详解
2017/01/13 Python
Django 使用Ajax进行前后台交互的示例讲解
2018/05/28 Python
python的常见矩阵运算(小结)
2019/08/07 Python
Java ExcutorService优雅关闭方式解析
2020/05/30 Python
matplotlib部件之矩形选区(RectangleSelector)的实现
2021/02/01 Python
html5通过canvas实现刮刮卡效果示例分享
2014/01/27 HTML / CSS
马来西亚在线购物市场:PGMall.my
2019/10/13 全球购物
库房主管岗位职责
2013/12/31 职场文书
晨会主持词
2014/03/17 职场文书
高中校园广播稿
2014/10/21 职场文书
群众路线教育实践活动学习心得体会
2014/10/30 职场文书
2015年度内部审计工作总结
2015/05/20 职场文书
2015初一年级组工作总结
2015/07/24 职场文书
2019大学生预备党员转正思想汇报
2019/06/21 职场文书
SQL Server 忘记密码以及重新添加新账号
2022/04/26 SQL Server