详解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的源码来解析Python下的freeblock
May 11 Python
Python使用ftplib实现简易FTP客户端的方法
Jun 03 Python
使用python编写监听端
Apr 12 Python
Python通过属性手段实现只允许调用一次的示例讲解
Apr 21 Python
详解TensorFlow查看ckpt中变量的几种方法
Jun 19 Python
在Python中定义一个常量的方法
Nov 10 Python
python使用matplotlib画柱状图、散点图
Mar 18 Python
Django logging配置及使用详解
Jul 23 Python
Python随机函数库random的使用方法详解
Aug 21 Python
基于Python中的yield表达式介绍
Nov 19 Python
Python下载的11种姿势(小结)
Nov 18 Python
python神经网络ResNet50模型
May 06 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
header跳转和include包含问题详解
2012/09/08 PHP
基于php 随机数的深入理解
2013/06/05 PHP
基于empty函数的输出详解
2013/06/17 PHP
php异步多线程swoole用法实例
2014/11/14 PHP
ThinkPHP静态缓存简单配置和使用方法详解
2016/03/23 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
2017/07/19 PHP
Jquery中dialog属性小记
2010/09/03 Javascript
document.getElementById介绍
2011/09/13 Javascript
javaScript让文本框内的最后一个文字的后面获得焦点实现代码
2013/01/06 Javascript
Ext4.2的Ext.grid.plugin.RowExpander无法触发事件解决办法
2014/08/15 Javascript
jQuery给动态添加的元素绑定事件的方法
2015/03/09 Javascript
Nodejs如何搭建Web服务器
2016/03/28 NodeJs
使用js获取地址栏参数的方法推荐(超级简单)
2016/06/14 Javascript
js获取浏览器高度 窗口高度 元素尺寸 偏移属性的方法
2016/11/21 Javascript
微信小程序出现wx.navigateTo页面不跳转问题的解决方法
2017/12/26 Javascript
Vue Element UI + OSS实现上传文件功能
2019/07/31 Javascript
[00:56]2014DOTA2国际邀请赛 DK、iG 赛前探访
2014/07/10 DOTA
python计算书页码的统计数字问题实例
2014/09/26 Python
python多线程用法实例详解
2015/01/15 Python
Python中的字典遍历备忘
2015/01/17 Python
Python的ORM框架中SQLAlchemy库的查询操作的教程
2015/04/25 Python
python中的闭包用法实例详解
2015/05/05 Python
使用Kivy将python程序打包为apk文件
2017/07/29 Python
python不换行之end=与逗号的意思及用途
2017/11/21 Python
python2与python3中关于对NaN类型数据的判断和转换方法
2018/10/30 Python
python库skimage给灰度图像染色的方法示例
2020/04/27 Python
澳大利亚领先的武术用品和健身器材供应商:SMAI
2019/03/24 全球购物
英语专业毕业生自荐信范文
2013/12/31 职场文书
会计专业自我鉴定
2014/02/10 职场文书
房地产广告词大全
2014/03/19 职场文书
计算机多媒体专业自荐信
2014/07/04 职场文书
商业门面租房协议书
2014/11/25 职场文书
预备党员党支部意见
2015/06/02 职场文书
2016教师给学生的毕业寄语
2015/12/04 职场文书
小学五年级(说明文3篇)
2019/08/13 职场文书
Python获取字典中某个key的value
2022/04/13 Python