python:shape和reshape()函数

50 篇文章 2 订阅
46 篇文章 31 订阅

在numpy中,shape和reshape()函数很常用。二者的功能都是对于数组的形状进行操作。

shape函数可以了解数组的结构;
reshape()函数可以对数组的结构进行改变。

shape
import numpy as np
#设置一个数组
a = np.array([1,2,3,4,5,6,7,8])
a.shape   '''结果:(8,)'''
type(a.shape)    '''结果:tuple'''
a.shape[0]    '''结果:8'''
b = np.array([[1,2],[2,3],[3,4]])
b.shape   '''结果:(3, 2)'''
b.shape[0]    '''结果:3'''
b.shape[2]    '''结果:2'''

结论:我们可以通过shape函数得出数组的形状,得出的结果是一个tuple格式的数据,之后我们可以获取其中的数据。

reshape()
a = np.array([1,2,3,4,5,6,7,8])
a.reshape(2,4)
'''结果:array([[1, 2, 3, 4],
       [5, 6, 7, 8]])
'''
a.reshape(4,2)
'''结果:
array([[1, 2],
       [3, 4],
       [5, 6],
       [7, 8]])
'''

结论:reshape()函数可以改变数组的形状,并且原始数据不发生变化。

但是,reshape()函数中的参数需要满足乘积等于数组中数据总数。
如:当我们将8个数使用(2,3)重新排列时,python会报错参数要求
而且,reshape()函数得出的数组与原数组使用的是同一个存储空间,改变一个,另一个也随之改变。
reshape()存储空间

注意

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

list

  • 36
    点赞
  • 128
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值