详解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之总结参数的传递
Oct 10 Python
解决出现Incorrect integer value: '' for column 'id' at row 1的问题
Oct 29 Python
Python中pandas模块DataFrame创建方法示例
Jun 20 Python
Python解决走迷宫问题算法示例
Jul 27 Python
在python中pandas的series合并方法
Nov 12 Python
手把手教你Python yLab的绘制折线图的画法
Oct 23 Python
Django模型中字段属性choice使用说明
Mar 30 Python
Python标准库:内置函数max(iterable, *[, key, default])说明
Apr 25 Python
浅析Python requests 模块
Oct 09 Python
Django搭建项目实战与避坑细节详解
Dec 06 Python
python实现简单反弹球游戏
Apr 12 Python
Python 机器学习工具包SKlearn的安装与使用
May 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
php下图片文字混合水印与缩略图实现代码
2009/12/11 PHP
PHP 通过Socket收发十六进制数据的实现代码
2013/08/16 PHP
php结合正则获取字符串中数字
2015/06/19 PHP
php用户密码加密算法分析【Discuz加密算法】
2016/10/12 PHP
动态创建的表格单元格中的事件实现代码
2008/12/30 Javascript
jquery实现的横向二级导航效果代码
2015/08/26 Javascript
java中String类型变量的赋值问题介绍
2016/03/23 Javascript
详解JavaScript中this的指向问题
2017/01/20 Javascript
react-router实现按需加载
2017/05/09 Javascript
JS实现发送短信验证后按钮倒计时功能(防止刷新倒计时失效)
2017/07/07 Javascript
微信小程序实现给嵌套template模板传递数据的方式总结
2017/12/18 Javascript
React组件内事件传参实现tab切换的示例代码
2018/07/04 Javascript
微信小程序全局变量功能与用法详解
2019/01/22 Javascript
微信小程序实现搜索指定景点周边美食、酒店
2019/05/18 Javascript
jquery实现简单自动轮播图效果
2020/07/29 jQuery
[48:44]2014 DOTA2国际邀请赛中国区预选赛5.21 TongFu VS HGT
2014/05/22 DOTA
Python爬虫DNS解析缓存方法实例分析
2017/06/02 Python
python读取文本中数据并转化为DataFrame的实例
2018/04/10 Python
使用Python的Django和layim实现即时通讯的方法
2018/05/25 Python
python 定时任务去检测服务器端口是否通的实例
2019/01/26 Python
python实现对输入的密文加密
2019/03/20 Python
Python实现打砖块小游戏代码实例
2019/05/18 Python
python解压TAR文件至指定文件夹的实例
2019/06/10 Python
Keras 切换后端方式(Theano和TensorFlow)
2020/06/19 Python
解析Python 偏函数用法全方位实现
2020/06/26 Python
Python HTMLTestRunner如何下载生成报告
2020/09/04 Python
Python加载数据的5种不同方式(收藏)
2020/11/13 Python
德国体育用品网上商店:SC24.com
2016/08/01 全球购物
凌阳科技股份有限公司C++程序员面试题笔试题
2014/11/20 面试题
会计系个人求职信范文分享
2013/12/20 职场文书
小学教师管理制度
2014/01/18 职场文书
党的群众路线教育实践活动总结
2014/10/30 职场文书
会计求职信怎么写
2015/03/20 职场文书
2020年元旦晚会策划书模板
2019/12/30 职场文书
导游词之寿县报恩寺
2020/01/19 职场文书
解决SpringBoot跨域的三种方式
2021/06/26 Java/Android