详解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 相关文章推荐
Win7上搭建Cocos2d-x 3.1.1开发环境
Jul 03 Python
Python的Django框架中URLconf相关的一些技巧整理
Jul 18 Python
Python画图学习入门教程
Jul 01 Python
总结用Pdb库调试Python的方式及常用的命令
Aug 18 Python
python 常用的基础函数
Jul 10 Python
Python3实现汉语转换为汉语拼音
Jul 08 Python
关于Python中的向量相加和numpy中的向量相加效率对比
Aug 26 Python
Django实现基于类的分页功能
Oct 31 Python
Python reversed反转序列并生成可迭代对象
Oct 22 Python
python利用xpath爬取网上数据并存储到django模型中
Feb 26 Python
PyQt QMainWindow的使用示例
Mar 24 Python
Python开发五子棋小游戏
Apr 28 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中使用Session配合Javascript实现文件上传进度条功能
2014/10/15 PHP
php返回字符串中所有单词的方法
2015/03/09 PHP
PHP对象克隆clone用法示例
2016/09/28 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
HTML TO JavaScript 转换
2006/06/26 Javascript
javascript 类型判断代码分析
2010/03/28 Javascript
javascript 学习笔记(onchange等)
2010/11/14 Javascript
javascript中判断一个值是否在数组中并没有直接使用
2012/12/17 Javascript
写得不错的jquery table鼠标经过变色代码
2013/09/27 Javascript
几种延迟加载JS代码的方法加快网页的访问速度
2013/10/12 Javascript
使用focus方法让光标默认停留在INPUT框
2014/07/29 Javascript
javascript限制用户只能输汉字中文的方法
2014/11/20 Javascript
JavaScript制作简易的微信打飞机
2015/03/31 Javascript
jquery实现华丽的可折角广告代码
2015/09/02 Javascript
JS产生随机数的几个用法详解
2016/06/22 Javascript
谈谈JS中常遇到的浏览器兼容问题和解决方法
2016/12/17 Javascript
Angularjs 动态改变title标题(兼容ios)
2016/12/29 Javascript
微信小程序自定义导航隐藏和显示功能
2017/06/13 Javascript
vue登录注册及token验证实现代码
2017/12/14 Javascript
JS实现音乐钢琴特效
2020/01/06 Javascript
小程序分享链接onShareAppMessage的具体用法
2020/05/22 Javascript
vue 扩展现有组件的操作
2020/08/14 Javascript
Python字符编码判断方法分析
2016/07/01 Python
Python 装饰器深入理解
2017/03/16 Python
python主线程捕获子线程的方法
2018/06/17 Python
python TCP包注入方式
2020/05/05 Python
Opencv求取连通区域重心实例
2020/06/04 Python
农场厂长岗位职责
2013/12/28 职场文书
六一儿童节活动策划方案
2014/01/27 职场文书
英语专业职业生涯规划范文
2014/03/05 职场文书
爱的承诺书
2015/01/20 职场文书
2015年效能监察工作总结
2015/04/23 职场文书
go 实现简易端口扫描的示例
2021/05/22 Golang
pytorch--之halfTensor的使用详解
2021/05/24 Python
python异常中else的实例用法
2021/06/15 Python