numpy.reshape(-1,1)的具体使用

数组新的shape属性应该要与原来的配套,如果等于-1的话,那么Numpy会根据剩下的维度计算出数组的另外一个shape属性值。

举个例子:

x = np.array([[2, 0], [1, 1], [2, 3]])

指定新数组行为3,列为,2,则:

y = x.reshape(3,2)

y
Out[43]:
array([[2, 0],
       [1, 1],
       [2, 3]])

指定新数组列为1,则:

y = x.reshape(-1,1)

y
Out[34]:
array([[2],
       [0],
       [1],
       [1],
       [2],
       [3]])

指定新数组列为2,则:

y = x.reshape(-1,2)

y
Out[37]:
array([[2, 0],
       [1, 1],
       [2, 3]])

指定新数组行为1,则:

y = x.reshape(1,-1)

y
Out[39]: array([[2, 0, 1, 1, 2, 3]])

指定新数组行为2,则:

y = x.reshape(2,-1)

y
Out[41]:
array([[2, 0, 1],
       [1, 2, 3]])

numpy中reshape(-1,1)与reshape(1,-1)的作用

如果你的数据只有一个特征,可以用reshape(-1,1)改变你的数据形状;或者如果你的数据只包含一个样本,可以使用reshape(1,-1)来改变。

e = np.array([1]) #只包含一个数据
f = e.reshape(1,-1) #改变形状,输出f之后发现它已经变成了二维数据
import numpy as np
a = np.array([[1,2,3],[4,5,6]]) #是两行三列的数据,二维
b = np.array([1,2])    #是一维数据
c = b.reshape(-1,1)    #c已经变成了二维数据,变成了两行一列
d = b.reshape(1,-1)    #d变成了一行两列的数据,
print('b.shape is {0}'.format(b.shape))
print(b)
print('c.shape is {0}'.format(c.shape))
print(c)
print('d.shape is {0},d array is {1}'.format(d.shape,d))

可以发现reshape(-1,1)是将一维数据在行上变化,而reshape(1,-1)是将一维数据在列上变化

到此这篇关于numpy.reshape(-1,1)的具体使用的文章就介绍到这了,更多相关numpy.reshape(-1,1)内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 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.ndarray.reshape()函数的参数问题

    我们知道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("Th

  • 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中的shape、reshape函数的区别

    目录 1 shape()函数 2 reshape()函数 1 shape()函数 读取矩阵的长度,比如shape[0]就是读取矩阵第一维度的长度,相当于行数.它的输入参数可以是一个整数表示维度,也可以是一个矩阵.shape函数返回的是一个元组tuple,表示数组(矩阵)的维度/ 形状,例子如下: w.shape[0]返回的是w的行数 w.shape[1]返回的是w的列数 df.shape():查看行数和列数 1. 数组(矩阵)只有一个维度时,shape只有shape[0],返回的是该一维数组(矩

  • 在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

  • 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

  • numpy.reshape(-1,1)的具体使用

    数组新的shape属性应该要与原来的配套,如果等于-1的话,那么Numpy会根据剩下的维度计算出数组的另外一个shape属性值. 举个例子: x = np.array([[2, 0], [1, 1], [2, 3]]) 指定新数组行为3,列为,2,则: y = x.reshape(3,2) y Out[43]: array([[2, 0], [1, 1], [2, 3]]) 指定新数组列为1,则: y = x.reshape(-1,1) y Out[34]: array([[2], [0], [

  • Python numpy生成矩阵、串联矩阵代码分享

    import numpy 生成numpy矩阵的几个相关函数: numpy.array() numpy.zeros() numpy.ones() numpy.eye() 串联生成numpy矩阵的几个相关函数: numpy.array() numpy.row_stack() numpy.column_stack() numpy.reshape() >>> import numpy >>> numpy.eye(3) array([[ 1., 0., 0.], [ 0., 1.

  • Python NumPy教程之数组的创建详解

    目录 使用 List 创建数组 使用数组函数创建数组 使用 numpy 方法创建数组 重塑数组 展平数组 在 Numpy 中创建数组的方法 使用 List 创建数组 数组用于在一个变量中存储多个值.Python 没有对数组的内置支持,但可以使用 Python 列表代替. 例子 : arr = [1, 2, 3, 4, 5] arr1 = ["geeks", "for", "geeks"] # 用于创建数组的 Python 程序 # 使用列表创建数

  • 浅析Python 读取图像文件的性能对比

    使用 Python 读取一个保存在本地硬盘上的视频文件,视频文件的编码方式是使用的原始的 RGBA 格式写入的,即无压缩的原始视频文件.最开始直接使用 Python 对读取到的文件数据进行处理,然后显示在 Matplotlib 窗口上,后来发现视频播放的速度比同样的处理逻辑的 C++ 代码慢了很多,尝试了不同的方法,最终实现了在 Python 中读取并显示视频文件,帧率能够达到 120 FPS 以上. 读取一帧图片数据并显示在窗口上 最简单的方法是直接在 Python 中读取文件,然后逐像素的分

  • Pytorch之contiguous的用法

    contiguous tensor变量调用contiguous()函数会使tensor变量在内存中的存储变得连续. contiguous():view只能用在contiguous的variable上.如果在view之前用了transpose, permute等,需要用contiguous()来返回一个contiguous copy. 一种可能的解释是: 有些tensor并不是占用一整块内存,而是由不同的数据块组成,而tensor的view()操作依赖于内存是整块的,这时只需要执行contiguo

  • numpy库ndarray多维数组的维度变换方法(reshape、resize、swapaxes、flatten)

    numpy库对多维数组有非常灵巧的处理方式,主要的处理方法有: .reshape(shape) : 不改变数组元素,返回一个shape形状的数组,原数组不变 .resize(shape) : 与.reshape()功能一致,但修改原数组 In [22]: a = np.arange(20) #原数组不变 In [23]: a.reshape([4,5]) Out[23]: array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14

随机推荐