三种贝叶斯code中遇到的问题

本文详细介绍了Python中NumPy库的reshape()函数用法,包括如何改变数组形状而不改变其数据,以及通过设置order参数实现不同排列方式的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python:reshape()函数

reshape()是数组对象中的方法,用于改变数组的形状。

a.reshape(m,n)表示将原有数组a转化为一个m行n列的新数组,a自身不变。m与n的乘积等于数组中的元素总数;reshape(m,n)中参数m或n其中一个可写为"-1","-1"的作用在于计算机根据原数组中的元素总数自动计算行或列的值。

a = np.array(range(10),float)   #a数组是随机生成的10个浮点数构成的数组
a

在jupyter-notebook中输出结果如下:随机数生成

a.reshape(5,-1)  #将数组a改为一个5行的二维新数组,原数组a并未改变

在jupyter-notebook中输出结果如下:
改变a数组形状5行2列

a       #再次输出数组a,自身不变,依然是一维数组

在jupyter-notebook中输出结果如下:
a数组不变

只有将a.reshape的值赋予a时,a才会发生改变

a = a.reshape(-1, 2)   #将a.reshape的值赋予a,改变a形状,默认行优先,即先横着排
a   

在jupyter-notebook中输出结果如下:
在这里插入图片描述

np.arange(36).reshape(1,6,6) #构建三维数组
np.arange(36).reshape(1,6,6)   #构建三维数组


在jupyter-notebook中输出结果如下:
三维数组的创建

  • 注意直接构建时三维数组的外面是一个()和两个[]

reshape()函数的默认排列方式

numpy中reshape()的默认排列方式是"按行"排列,即行优先,reshape(m,n)=reshape(m,n,order=‘c’);若要改为“按列”排列,可通过修改order参数进行改变,即reshape(m,n,order=‘f’)。

a.reshape(5,-1,order='c')

在jupyter-notebook中输出结果如下:
在这里插入图片描述

a.reshape(5,-1,order='F')  #即先竖着按列排

在jupyter-notebook中输出结果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值