详解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系列之新版本导入httplib模块报ImportError解决方案
May 23 Python
Python中的自省(反射)详解
Jun 02 Python
Python线程详解
Jun 24 Python
python爬取w3shcool的JQuery课程并且保存到本地
Apr 06 Python
numpy数组拼接简单示例
Dec 15 Python
基于Python实现定时自动给微信好友发送天气预报
Oct 25 Python
python调用其他文件函数或类的示例
Jul 16 Python
python为Django项目上的每个应用程序创建不同的自定义404页面(最佳答案)
Mar 09 Python
快速解决jupyter notebook启动需要密码的问题
Apr 21 Python
Tensorflow卷积实现原理+手写python代码实现卷积教程
May 22 Python
3分钟看懂Python后端必须知道的Django的信号机制
Jul 26 Python
详解python爬取弹幕与数据分析
Nov 14 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
Session保存到数据库的php类分享
2011/10/24 PHP
在windows平台上构建自己的PHP实现方法(仅适用于php5.2)
2013/07/05 PHP
利用phpExcel实现Excel数据的导入导出(全步骤详细解析)
2013/11/26 PHP
浅谈PHP中关于foreach使用引用变量的坑
2016/11/14 PHP
Gambit vs CL BO3 第一场 2.13
2021/03/10 DOTA
js 小数取整的函数
2010/05/10 Javascript
jquery live()重复绑定的解决方法介绍
2014/01/03 Javascript
AngularJS Module方法详解
2015/12/08 Javascript
bootstrap学习使用(导航条、下拉菜单、轮播、栅格布局等)
2016/12/01 Javascript
Radio 单选JS动态添加的选项onchange事件无效的解决方法
2016/12/12 Javascript
jquery实现转盘抽奖功能
2017/01/06 Javascript
微信小程序(三):网络请求
2017/01/13 Javascript
JavaScript满天星导航栏实现方法
2018/03/08 Javascript
vue webpack打包后图片路径错误的完美解决方法
2018/12/07 Javascript
EasyUI 数据表格datagrid列自适应内容宽度的实现
2019/07/18 Javascript
Vue+ElementUI使用vue-pdf实现预览功能
2019/11/26 Javascript
Python挑选文件夹里宽大于300图片的方法
2015/03/05 Python
Python中Django发送带图片和附件的邮件
2017/03/31 Python
pycharm debug功能实现跳到循环末尾的方法
2018/11/29 Python
Python实现计算文件MD5和SHA1的方法示例
2019/06/11 Python
Python变量访问权限控制详解
2019/06/29 Python
python3 实现函数写文件路径的正确方法
2019/11/27 Python
使用Python打造一款间谍程序的流程分析
2020/02/21 Python
PyCharm配置anaconda环境的步骤详解
2020/07/31 Python
python 通过 pybind11 使用Eigen加速代码的步骤
2020/12/07 Python
H5仿微信界面教程(一)
2017/07/05 HTML / CSS
基于Modernizr 让网站进行优雅降级的分析
2013/04/21 HTML / CSS
Java中实现多态的机制是什么?
2014/12/07 面试题
校园广播稿500字
2014/02/04 职场文书
销售个人求职信范文
2014/04/28 职场文书
2014国庆节幼儿园亲子活动方案
2014/09/16 职场文书
购房协议书范本
2014/10/02 职场文书
施工安全保证书
2015/05/09 职场文书
致运动员的广播稿
2015/08/19 职场文书
PhpSpreadsheet中文文档 | Spreadsheet操作教程实例
2021/04/01 PHP
Python基础之tkinter图形化界面学习
2021/04/29 Python