Numpy.reshape()与shape函数

相关知识:tensorflow中利用张量来表示数据,张量是有阶数的,一阶张量就是一个一维向量,二阶张量是矩阵,关于张量的描述更多描述,参考http://blog.csdn.net/u013378306/article/details/56281549这篇博文。shape就是张量的形状,用数组表示,n阶张量对应一个n维的shape,每一阶的元素数目等于相应的维的大小。例如,张量

[[[ 1  2][ 3  4][ 5  6]][[ 7  8][ 9 10][11 12]]]

的shape=(2,3,2).明白了这一点后,reshape()函数和shape[]函数就很好理解了:reshape()函数重新定义了原张量的阶数,shape函数就表示张量的形状。下面看具体用法:

1.Numpy.reshape()

虽然官网上关于reshape函数的标准格式是numpy.reshape(a, newshape, order='C'),但其实这个函数有两种用法。先看代码:

import numpy as npa=np.array([1,2,3,4,5,6,7,8,9,10,11,12])
b=np.reshape(a,(2,-1))
c=a.reshape(2,-1)
print 'b='
print b
print 'c='
print c

结果:

b=
[[ 1  2  3  4  5  6][ 7  8  9 10 11 12]]
c=
[[ 1  2  3  4  5  6][ 7  8  9 10 11 12]]

可以看到,对数组a进行变换可以用b=np.reshape()或者c=a.reshape()的方式。

2.函数内参数解释

我们用第一种方式,即b=np.reshape()的方式。值得注意的是标准格式中numpy.reshape(a, newshape, order='C')中的newshape参数和order参数。

newshape参数:

用法参见以下代码:
import numpy as npa=np.array([1,2,3,4,5,6,7,8,9,10,11,12])
b=np.reshape(a,(2,-1))
c=np.reshape(a,(2,2,-1))
d=np.reshape(a,(2,3,-1))
print 'b='
print b
print 'c='
print c
print 'd='
print d

输出:

b=
[[ 1  2  3  4  5  6][ 7  8  9 10 11 12]]
c=
[[[ 1  2  3][ 4  5  6]][[ 7  8  9][10 11 12]]]
d=
[[[ 1  2][ 3  4][ 5  6]][[ 7  8][ 9 10][11 12]]]

newshape参数用数组表示,以c为例,数组(2,2,-1)就是c的形状,一共有三阶,第三个数字是reshape后数组a中最小单元中元素个数,在这里是3,如果是-1则表示可以自动推测出。

order参数

是元素排列顺序的参数,一般不用。

2.shape函数

下面代码展示了该函数的用法:
c=np.array([1,2,3,4,5,6,7,8,9,10,11,12])
c=c.reshape(2,3,2)
print c
print c.shape

输出:

[[[ 1  2][ 3  4][ 5  6]][[ 7  8][ 9 10][11 12]]]
(2, 3, 2)

即得到张量的形状。

Numpy.reshape函数解释相关推荐

  1. 最简单的方式讲明白numpy.reshape()函数

    reshape() 函数: 这个方法是在不改变数据内容的情况下,改变一个数组的格式,参数如下图: 参数说明: a:输入的数组. newshape:新格式数组的形状. order:可选范围为{'C', ...

  2. python中reshape函数_Python numpy.reshape函数方法的使用

    numpy.reshape numpy.reshape(a, newshape, order='C')    [source] 在不更改数据的情况下为数组赋予新的shape.参数 :a :array_ ...

  3. python numpy中ndarray.reshape函数参数-1是什么意思?(模糊控制、自动推理)

    模糊控制,不知道要转换后-1的位置有多少个,反正其他的就按照指定的来 示例代码: import numpy as npc=np.array([[[1,2,3],[4,5,6]],[[7,8,9],[1 ...

  4. pythonreshape函数三个参数_Python Numpy中reshape函数参数-1的含义

    python numpy中reshape函数参数-1的含义,新数组的shape属性应该要与原来数组的一致,即新数组元素数量与原数组元素数量要相等.一个参数为-1时,那么reshape函数会根据另一个参 ...

  5. Numpy中reshape函数、reshape(1,-1)的含义(浅显易懂,源码实例)

    本文详细介绍numpy中reshape函数的三种常见相关用法. 一般用法:numpy.arange(n).reshape(a, b); 依次生成n个自然数,并且以a行b列的数组形式显示: In [1] ...

  6. numpy.reshape()函数

     numpy.reshape(a, newshape, order='C')[source],参数`newshape`是啥意思? 根据Numpy文档(https://docs.scipy.org/ ...

  7. Numpy中的shape、reshape函数

    shape函数可以了解数组的结构:reshape()函数改变数组的结构. 目录 1 shape()函数 2 reshape()函数 1 shape()函数 读取矩阵的长度,比如shape[0]就是读取 ...

  8. numpy之reshape函数

    numpy中reshape函数 以下为代码展示: >>> import numpy as np >>> >>> a = np.ones([2,3, ...

  9. 【Numpy】reshape函数

    Numpy中reshape函数的三种常见相关用法: reshape(1,-1)转化成1行: reshape(2,-1)转换成两行: reshape(-1,1)转换成1列: reshape(-1,2)转 ...

最新文章

  1. 基于JSON的高级AJAX开发技术
  2. unity添加对象实例_【Unity】6.3 通过 C# 脚本创建和访问游戏对象
  3. 苹果显示已连接网络连接到服务器异常,苹果确认iphone密码,显示连接服务器出现问题,为什么...
  4. ASP.NET MVC下的四种验证编程方式[续篇]
  5. vscode用作markdown入门1--环境创建
  6. CCF201312-1 出现次数最多的数
  7. Node.js nrm
  8. Windows Phone 8.1中AppBarToggleButton的绑定问题
  9. memcpy( )函数复制二维数组 memcmp( )函数比较二维数组
  10. {“errcode“:40125,“errmsg“:“invalid appsecret, rid: 62735cd3-36d42de3-6f09796c“}
  11. Vue:type check failed for prop “pageSize“. Expected Number with value xx 问题
  12. 去阿诗玛的故乡 云南昆明自助攻略
  13. CnOpenData中国行政区划数据简介
  14. 【家具CRM客户关系管理系统案例】数夫助力左右家私CRM客户关系管理系统正式上线
  15. 在yii2应用中,使用imagine库生成分享图实战。
  16. ZHW_AI发布CSDN的模板和要求
  17. 最优化理论——可行方向·梯度投影法
  18. 关于使用EasyExcel进行单元格合并的问题
  19. NYOJ 20 吝啬的国度 续
  20. python笔记2 - 函数,表达式,语句

热门文章

  1. 转#Unity2D范例-6
  2. 因特尔黑科技:黑暗中快速成像系统
  3. 松本行弘的程序世界-不求精,但求全
  4. objectArx---UCS表
  5. NKCorpus:利用海量网络数据构建大型高质量中文数据集
  6. FreeRTOS教程——任务(一)
  7. 深入浅出DDoS攻击防御——攻击篇 (转自阿里云产品博客)
  8. 以太坊应用开发24步
  9. wsus服务器不显示客户端,教你如何配置WSUS服务器客户端.pptx
  10. Java正则表达式匹配方括号