Numpy之reshape()使用详解

如下所示:

Numpy中reshape的使用方法为:numpy.reshape(a, newshape, order='C')

参数详解:

1.a: type:array_like(伪数组,可以看成是对数组的扩展,但是不影响原始数组。)

需要reshape的array

2.newshape:新的数组

新形状应与原形状兼容。如果是整数,那么结果将是该长度的一维数组。一个形状尺寸可以是-1。在本例中,值是 从数组的长度和剩余维度推断出来的。

3.order: 可选为(C, F, A)

C: 按照行来填充

F: 按照列的顺序来填充

A: 按任意方向,(default)。 这里相当于行

4.returns: ndarray,即返回一或多维数组

实战:

首先,先创建几个n维数组

import numpy as np

这里的意思是创建了一个2维数组

这里创建了一个3维2X2的数组。

这是四维

(1,2) 表示 [[ 0, 1]]
(3,1,2)表示3个(1,2):
[[[ 0, 1]],
[[ 2, 3]],
[[ 4, 5]]],
(2,3,1,2)表示2个(3,1,2):
[ [[[ 0, 1]],
[[ 2, 3]],
[[ 4, 5]]],

[[[ 6, 7]],
[[ 8, 9]],
[[10, 11]]] ]

了解了newshape里面的东西,reshape基本没啥问题了。

我们再来看看order。

分别利用C,F,A来填充数据:

这就是reshape基本用法。

以上这篇Numpy之reshape()使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • python实现将一维列表转换为多维列表(numpy+reshape)

    如题,我们直接使用numpy #!D:/workplace/python # -*- coding: utf-8 -*- # @File : numpy_reshape.py # @Author: WangYe # @Date : 2018/7/23 # @Software: PyCharm import numpy a=[1,2,3,1,4,5,5846,464,64,456,456,4] print(a) b=numpy.array(a).reshape(len(a),1) # reshap

  • 在python2.7中用numpy.reshape 对图像进行切割的方法

    遇到这么个需求:把图片按照定义的patchsize切块,然后按照z轴顺序叠放小块,如下图(仅考虑灰度图像) 图片im,设size为(h,w),patchsize为(ph,pw),则处理后大小(为简化描述,假设可以整除)为(ph,pw,w*h/ph/pw). 为简化描述,后面用h=300,w=300,ph=100,pw=100 为例,即处理后d=9. numpy.reshape 的文档:点击打开链接 特别注意第三个参数 order,其默认取值为 order='C',表示最后一个维度的元素在resh

  • Numpy之reshape()使用详解

    如下所示: Numpy中reshape的使用方法为:numpy.reshape(a, newshape, order='C') 参数详解: 1.a: type:array_like(伪数组,可以看成是对数组的扩展,但是不影响原始数组.) 需要reshape的array 2.newshape:新的数组 新形状应与原形状兼容.如果是整数,那么结果将是该长度的一维数组.一个形状尺寸可以是-1.在本例中,值是 从数组的长度和剩余维度推断出来的. 3.order: 可选为(C, F, A) C: 按照行来

  • numpy库reshape用法详解

    numpy.reshape(重塑) 给数组一个新的形状而不改变其数据 numpy.reshape(a, newshape, order='C')参数: a:array_like 要重新形成的数组. newshape:int或tuple的整数 新的形状应该与原始形状兼容.如果是整数,则结果将是该长度的1-D数组.一个形状维度可以是-1.在这种情况下,从数组的长度和其余维度推断该值. order:{'C','F','A'}可选 使用此索引顺序读取a的元素,并使用此索引顺序将元素放置到重新形成的数组中

  • numpy自动生成数组详解

    1 np.arange(),类似于range,通过指定开始值,终值和步长来创建表示等差数列的一维数组,注意该函数和range一样结果不包含终值. >>> np.arange(10) array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) >>> np.arange(0,1,0.1) array([ 0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9]) >>> 2 np.linspace

  • Numpy掩码式数组详解

    数据很大形况下是凌乱的,并且含有空白的或者无法处理的字符,掩码式数组可以很好的忽略残缺的或者是无效的数据点.掩码式数组由一个正常数组与一个布尔式数组组成,若布尔数组中为Ture,则表示正常数组中对应下标的值无效,反之False表示对应正常数组的值有效. 创建方法为,首先创建一个布尔型数组,然后通过numpy.ma子程序包提供的函数来创建掩码式数组,掩码式数组提供了各种所需函数. 创建实例如下: import numpy as np origin = np.arange(16).reshape(4

  • numpy 声明空数组详解

    你搜索这个,你会发现好多都是np.zeros(5,2),嗯都是复制的一个国外的帖子,然而没有翻译人家的话. 然后你愤怒的关闭页面.这简直就是文不对题,这哪是空的. 实际上,numpy的数组机制并不支持空数组.(什么鬼答案?)简单来讲就是numpy会申请连续的内存,如果频繁改变大小,他就要频繁申请新的内存.如果你会c语言知道指针的话,你很容易就能想到他不是list格式而是array格式. 如果你不会c语言,那么也没有关系.不影响.只需要记住,numpy的数组一旦变动大小就会像搬家一样大包小包的带着

  • Python基础之Numpy的基本用法详解

    一.数据生成 1.1 手写数组 a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) # 一维数组 b = np.array([[1, 2], [3, 4]]) #二维数组 1.2 序列数组 numpy.arange(start, stop, step, dtype),start默认0,step默认1 c = np.arange(0, 10, 1, dtype=int) # =np.arange(10) [0 1 2 3 4 5 6 7 8 9] d

  • numpy.sum()的使用详解

    numpy的sum函数可接受的参数是: sum(a, axis=None, dtype=None, out=None, keepdims=np._NoValue) 在参数列表中: a是要进行加法运算的向量/数组/矩阵 axis的值可以为None,也可以为整数和元组 其形参的注释如下: a : array_like elements to sum. a:用于进行加法运算的数组形式的元素 axis : None or int or tuple of ints, optional Axis or ax

  • Python数据分析之NumPy常用函数使用详解

    目录 文件读入 1.保存或创建新文件 2.读取csv文件的函数loadtxt 3.常见的函数 4.股票的收益率等 5.对数收益与波动率 6.日期分析 总结 本篇我们将以分析历史股价为例,介绍怎样从文件中载入数据,以及怎样使用NumPy的基本数学和统计分析函数.学习读写文件的方法,并尝试函数式编程和NumPy线性代数运算,来学习NumPy的常用函数. 文件读入 读写文件是数据分析的一项基本技能 CSV(Comma-Separated Value,逗号分隔值)格式是一种常见的文件格式.通常,数据库的

  • Broadcast广播机制在Pytorch Tensor Numpy中的使用详解

    目录 1.什么是广播机制 2.广播机制的规则 3.代码举例 4.原地操作 1.什么是广播机制 根据线性代数的运算规则我们知道,矩阵运算往往都是在两个矩阵维度相同或者相匹配时才能运算.比如加减法需要两个矩阵的维度相同,乘法需要前一个矩阵的列数与后一个矩阵的行数相等.那么在 numpy.tensor 里也是同样的道理,但是在机器学习的某些算法中会出现两个维度不相同也不匹配的矩阵进行运算,那么这时候就需要用广播机制来解决,通过广播机制,其tensor参数可以自动扩展为相等大小(不需要复制数据).下面我

随机推荐