详解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中使用PyHook监听鼠标和键盘事件实例
Jul 18 Python
优化Python代码使其加快作用域内的查找
Mar 30 Python
Python函数的周期性执行实现方法
Aug 13 Python
Python反转序列的方法实例分析
Mar 21 Python
python使用tornado实现登录和登出
Jul 28 Python
一行代码让 Python 的运行速度提高100倍
Oct 08 Python
django模板结构优化的方法
Feb 28 Python
python输出电脑上所有的串口名的方法
Jul 02 Python
Python多线程及其基本使用方法实例分析
Oct 29 Python
Java文件与类动手动脑实例详解
Nov 10 Python
Python enumerate() 函数如何实现索引功能
Jun 29 Python
Django实现内容缓存实例方法
Jun 30 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魔术方法与魔术变量、内置方法与内置变量的深入分析
2013/06/03 PHP
php获得url参数中具有&的值的方法
2014/03/05 PHP
9个实用的PHP代码片段分享
2015/01/22 PHP
php+Mysqli利用事务处理转账问题实例
2015/02/11 PHP
Yii列表定义与使用分页方法小结(3种方法)
2016/07/15 PHP
php实现数组重复数字统计实例
2018/09/30 PHP
浅谈PHP之ThinkPHP框架使用详解
2020/07/21 PHP
JavaScript中读取和保存文件实例
2014/05/08 Javascript
js限制文本框只能输入数字方法小结
2014/06/16 Javascript
JS实现登录页面记住密码和enter键登录方法推荐
2016/05/10 Javascript
JavaScript数据存储 Cookie篇
2016/07/02 Javascript
AngularJS 中的事件详解
2016/07/28 Javascript
浅谈Cookie的生命周期问题
2016/08/02 Javascript
jQuery图片加载显示loading效果
2016/11/04 Javascript
Bootstrap基本插件学习笔记之模态对话框(16)
2016/12/08 Javascript
详解微信小程序开发—你期待的分享功能来了,微信小程序序新增5大功能
2016/12/23 Javascript
JS滚动到指定位置导航栏固定顶部
2017/07/03 Javascript
JS沙箱模式实例分析
2017/09/04 Javascript
微信小程序实现鼠标拖动效果示例
2017/12/01 Javascript
vuejs点击class变化的实例
2018/09/05 Javascript
Vue函数式组件-你值得拥有
2019/05/09 Javascript
layer ui 导入文件之前传入数据的实例
2019/09/23 Javascript
Javascript执行上下文顺序的深入讲解
2020/11/04 Javascript
利用python发送和接收邮件
2016/09/27 Python
python:socket传输大文件示例
2017/01/18 Python
Python 实现异步调用函数的示例讲解
2018/10/14 Python
Python实现合并两个有序链表的方法示例
2019/01/31 Python
Python pandas.DataFrame调整列顺序及修改index名的方法
2019/06/21 Python
Django单元测试工具test client使用详解
2019/08/02 Python
世界上最好的野生海鲜和有机食品:Vital Choice
2020/01/16 全球购物
澳大利亚最早和最古老的巨型游戏专家:Yardgames
2020/02/20 全球购物
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
2013/02/17 面试题
学生偷窃检讨书
2014/09/25 职场文书
先进班集体申报材料
2014/12/26 职场文书
高中生社会实践心得体会
2016/01/14 职场文书
如何拟写通知正文?
2019/04/02 职场文书