详解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抓取网页正文的源码
Jun 11 Python
Python中dictionary items()系列函数的用法实例
Aug 21 Python
Python中使用语句导入模块或包的机制研究
Mar 30 Python
Python中用format函数格式化字符串的用法
Apr 08 Python
Python探索之URL Dispatcher实例详解
Oct 28 Python
python爱心表白 每天都是浪漫七夕!
Aug 18 Python
ActiveMQ:使用Python访问ActiveMQ的方法
Jan 30 Python
Pyinstaller打包.py生成.exe的方法和报错总结
Apr 02 Python
Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
May 04 Python
Selenium+Python 自动化操控登录界面实例(有简单验证码图片校验)
Jun 28 Python
python3 中使用urllib问题以及urllib详解
Aug 03 Python
Python 装饰器(decorator)常用的创建方式及解析
Apr 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使用fopen创建utf8编码文件的方法
2014/10/31 PHP
php发送html格式文本邮件的方法
2015/06/10 PHP
PHP接入支付宝接口失效流程详解
2020/11/10 PHP
javascript prototype,executing,context,closure
2008/12/24 Javascript
jQuery.query.js 取参数的两点问题分析
2012/08/06 Javascript
jquery动画1.加载指示器
2012/08/24 Javascript
再探JavaScript作用域
2014/09/24 Javascript
使用JavaScript 编写简单计算器
2014/11/24 Javascript
基于jQuery插件实现点击小图显示大图效果
2016/05/11 Javascript
jQuery实现的自定义滚动条实例详解
2016/09/20 Javascript
Vue方法与事件处理器详解
2016/12/01 Javascript
JS基于递归实现网页版计算器的方法分析
2017/12/20 Javascript
Vue2.0学习系列之项目上线的方法步骤(图文)
2018/09/25 Javascript
Vue渲染过程浅析
2019/03/14 Javascript
element-ui上传一张图片后隐藏上传按钮功能
2019/05/22 Javascript
JS判断浏览器类型与操作系统的方法分析
2020/04/30 Javascript
粗略分析Python中的内存泄漏
2015/04/23 Python
python 读入多行数据的实例
2018/04/19 Python
一条命令解决mac版本python IDLE不能输入中文问题
2018/05/15 Python
python3的UnicodeDecodeError解决方法
2019/12/20 Python
python 实现保存最新的三份文件,其余的都删掉
2019/12/22 Python
python 微信好友特征数据分析及可视化
2020/01/07 Python
Python Websocket服务端通信的使用示例
2020/02/25 Python
python多线程实现同时执行两个while循环的操作
2020/05/02 Python
python中可以声明变量类型吗
2020/06/18 Python
Python Request类源码实现方法及原理解析
2020/08/17 Python
Python使用pycharm导入pymysql教程
2020/09/16 Python
如何通过python计算圆周率PI
2020/11/11 Python
详解基于 Canvas 手撸一个六边形能力图
2019/09/02 HTML / CSS
简述Html5 IphoneX 适配方法
2018/02/08 HTML / CSS
2014两会学习心得:时代的发展
2014/03/17 职场文书
竞选卫生委员演讲稿
2014/04/28 职场文书
质量标语大全
2014/06/12 职场文书
大学竞选班干部演讲稿
2014/08/21 职场文书
中职招生先进个人材料
2014/08/31 职场文书
导游词之山东八大关
2019/12/18 职场文书