iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Numpy中的shape、reshape函数的区别
  • 761
分享到

Numpy中的shape、reshape函数的区别

2024-04-02 19:04:59 761人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录 1 shape()函数 2 reshape()函数 1 shape()函数  读取矩阵的长度,比如shape[0]就是读取矩阵

 1 shape()函数 

读取矩阵的长度,比如shape[0]就是读取矩阵第一维度的长度,相当于行数。它的输入参数可以是一个整数表示维度,也可以是一个矩阵。shape函数返回的是一个元组tuple,表示数组(矩阵)的维度/ 形状,例子如下:

  • w.shape[0]返回的是w的行数
  • w.shape[1]返回的是w的列数
  • df.shape():查看行数和列数

1. 数组(矩阵)只有一个维度时,shape只有shape[0],返回的是该一维数组(矩阵)中元素的个数,通俗点说就是返回列数,因为一维数组只有一行,一维情况中array创建的可以看做list(或一维数组),创建时用()和[ ]都可以,多维就使用[ ]

>>> a=np.array([1,2])
>>> a
array([1, 2])
>>> a.shape
(2L,)
>>> a.shape[0]
2L
>>> a.shape[1]
IndexError: tuple index out of range   #最后报错是因为一维数组只有一个维度,可以用a.shape或a.shape[0]来访问
 
#这个使用的是两个()包裹,得到的数组和前面的一样
>>> a=np.array((1,2))
>>> a
array([1, 2]) 

2.数组有两个维度(即行和列)时,a.shape返回的元组表示该数组的行数与列数

 #注意二维数组要用()和[]一起包裹起来,键入print a 会得到一个用2个[]包裹的数组(矩阵)
>>> b=np.array([[1,2,3],[4,5,6]])
>>> b
array([[1, 2, 3],
       [4, 5, 6]])
>>> b.shape
(2L, 3L)

总结:使用np.array()创建数组时,

一维的可以直接np.array([1,2,3])或者np.array((1,2,3))

二维的要使用np.array([[1,2,3],[1,2,3]]),用一个()和一个[]把要输入的list包裹起来

三维的要使用np.array([[[1,2,3],[1,2,3]]]),用一个()和两个[]把要输入的list包裹起来

>>> a=np.array([[[1,2],[3,4]]])
>>> a
array([[[1, 2],
        [3, 4]]])
>>> a.shape
(1L, 2L, 2L)

返回的元组表示3个维度各包含的元素的个数。所谓元素,在一维时就是元素的个数,二维时表示行数和列数,三维时a.shape【0】表示创建的块数,a.shape【1】和a.shape【2】表示每一块(每一块都是二维的)的行数和列数。

>>> a=np.ones([2,2,3])#创建两个2行3列的数组(矩阵)
>>> a
array([[[ 1.,  1.,  1.],
        [ 1.,  1.,  1.]],
 
       [[ 1.,  1.,  1.],
        [ 1.,  1.,  1.]]])

2 reshape()函数

 改变数组的形状,并且原始数据不发生变化。但是,reshape()函数中的参数需要满足乘积等于数组中数据总数.

如:当我们将8个数使用(2,3)重新排列时,python会报错

import numpy as np
 
a=np.array([1,2,3,4])
b=np.array([[1,2,3,4],[4,5,6,7],[7,8,9,1]])
print("a:\n",a)
print("b:\n",b)
print(b.dtype)
 
a_r=a.reshape((2,2))  
print("a_r:\n",a_r)
d=a.reshape((-1,1))
print("d:\n",d)
e=a.reshape((1,-1))
print("e:\n",e)
#结果如下
a:
 [1 2 3 4]
c:
 [[1 2 3 4]
 [4 5 6 7]
 [7 8 9 1]]
int32
 
a_r:
 [[1 2]
 [3 4]]
d:
 [[1]
 [2]
 [3]
 [4]]
e:
 [[1 2 3 4]]

而且,reshape()函数得出的数组与原数组使用的是同一个存储空间,改变一个,另一个也随之改变。

【注意】shape和reshape()函数都是对于数组(array)进行操作的,对于list结构是不可以的

【参考】

Python:numpy中shape和reshape的用法 

到此这篇关于Numpy中的shape、reshape函数的区别的文章就介绍到这了,更多相关Numpy shape reshape内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Numpy中的shape、reshape函数的区别

本文链接: https://www.lsjlt.com/news/119613.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Numpy中的shape、reshape函数的区别
    目录 1 shape()函数 2 reshape()函数 1 shape()函数  读取矩阵的长度,比如shape[0]就是读取矩阵...
    99+
    2024-04-02
  • numpy中reshape函数怎么使用
    在NumPy中,reshape函数用于改变数组的形状。使用reshape函数的语法如下:``` pythonnumpy.reshap...
    99+
    2023-09-29
    numpy
  • Numpy中shape函数怎么用
    小编给大家分享一下Numpy中shape函数怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!shape函数的功能是读取矩阵的长度,比如shape[0]就是读取...
    99+
    2023-06-14
  • Numpy中的shape函数的用法详解
    shape函数的功能是读取矩阵的长度,比如shape[0]就是读取矩阵第一维度的长度,相当于行数。它的输入参数可以是一个整数表示维度,也可以是一个矩阵。shape函数返回的是一个元组...
    99+
    2024-04-02
  • numpy的shape函数有什么作用
    numpy的shape函数用于获取数组的维度信息,返回一个元组,其中包含数组在每个维度上的大小。具体作用如下:1. 获取数组的维度信...
    99+
    2023-10-10
    numpy
  • 深度学习中shape[0]、shape[1]、shape[2]的区别详解
    深度学习中shape[0]、shape[1]、shape[2]的区别详解对于图像来说: img.shape[0]:图像的垂直尺寸(高度)img.shape[1]:图像的水平尺寸(宽度...
    99+
    2024-04-02
  • PyTorch中view()与 reshape()的区别详析
    目录前言一、PyTorch中tensor的存储方式1、PyTorch张量存储的底层原理2、PyTorch张量的步长(stride)属性二、对“视图(view)&rdquo...
    99+
    2024-04-02
  • PHP 函数和 NumPy/Numpy 有什么区别?
    PHP 和 NumPy/Numpy 都是编程语言中的两个重要的工具,它们都有着各自的优点和特点,用途也不尽相同。在本文中,我们将会深入探讨一下 PHP 函数和 NumPy/Numpy 之间的区别。 一、PHP 函数的概念 PHP 函数是一...
    99+
    2023-09-17
    函数 numpy numy
  • python中的shape函数怎么用
    在Python中,shape函数常用于获取数组的维度信息。在numpy库中,可以使用shape函数来获取数组的形状。下面是shape...
    99+
    2023-10-10
    python
  • Numpy中扁平化函数ravel()和flatten()的区别详解
    在Numpy中经常使用到的操作由扁平化操作,Numpy提供了两个函数进行此操作,他们的功能相同,但在内存上有很大的不同. 先来看这两个函数的使用: from numpy import...
    99+
    2023-02-20
    Numpy ravel()和flatten() Numpy ravel() Numpy flatten()
  • Numpy中扁平化函数ravel()和flatten()的区别是什么
    这篇文章主要介绍“Numpy中扁平化函数ravel()和flatten()的区别是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Numpy中扁平化函数ravel()和flatten()的区别是什...
    99+
    2023-07-05
  • python中format函数与round函数的区别
    目录前言不同之处round函数进位原则示例format函数示例总结前言 在对数据进行处理时我们常常会用到format与round函数。二者都能保留若干位小数,但在处理过程上稍有不同。...
    99+
    2024-04-02
  • oracle中concat函数和||的区别
    concat 和 || 均为 oracle 中的字符串连接函数,区别主要在于:函数语法(concat 带括号,|| 不带)、null 处理(concat 返回 null,|| 返回空字符...
    99+
    2024-05-03
    oracle
  • python numpy中mat和matrix的区别
    个人理解: np.mat() import numpy as np b=np.mat(a)是将a转化为矩阵 如果a本身是矩阵,就是创建a的一个引用,相当于:np.matrix(...
    99+
    2024-04-02
  • PHP 函数和 Shell 函数的区别
    php 函数和 shell 函数的主要区别在于安全性(php 函数更安全)、可靠性(shell 函数因操作系统而异)、功能(shell 函数更强大但受 shell 限制)、性能(php ...
    99+
    2024-04-24
    php shell
  • PHP 函数与 R 函数的区别?
    php和r函数在语法、数据类型、数据结构和函数作用域上有以下差异:1. 语法:php函数遵循c式语法,而r函数使用s式语法。2. 数据类型:php是弱类型语言,而r是强类型语言。3. 数...
    99+
    2024-04-25
    php r 作用域
  • PHP 函数与 Python 函数的区别?
    php 与 python 函数的主要区别在于参数传递方式(php 值传递,python 引用传递)和返回值机制(php 通过 return 语句,python 通过最后一行表达式隐式返回...
    99+
    2024-04-25
    python php
  • PHP 函数与 Swift 函数的区别?
    php和swift函数的主要区别包括:类型系统(php可选、swift严格)、参数传递(php值传递、swift引用传递)、可选返回值(php可null、swift必须非null)。ph...
    99+
    2024-04-26
    php swift
  • PHP 函数与 Ruby 函数的区别?
    php 和 ruby 函数处理方式的区别在于:函数定义:php用function,ruby用def;参数处理:php用圆括号,参数可按值或引用传递;ruby也用圆括号,但参数仅按值传递;...
    99+
    2024-04-26
    php ruby
  • PHP 函数和 .NET 函数的区别
    php 与 .net 函数的关键差异在于语法、命名空间、类型安全性、可变参数和实战案例:语法:php 使用 function 关键字,而 .net 使用访问修饰符。命名空间:php 没有...
    99+
    2024-04-24
    php 函数 .net 函数 作用域
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作