NumPy 中 reshape 函数用法详解

本文详细介绍了NumPy库中的reshape函数,如何在不更改数据的情况下改变数组形状,包括新shape参数的选择、order参数对按行或按列存储的影响以及不同参数组合的实际应用示例。
摘要由CSDN通过智能技术生成

在这里插入图片描述

1、语法

在不更改数组数据的情况下,改变数组的形状,返回一个新的数组。例如将一个二维数组转换成一个三维数组。

numpy.reshape(a, newshape, order='C')
参数描述
a : 类数组要改变形状的数组对象
newshape : 整型或整型元组新形状需与原始形状兼容,若为整型,则返回该长度的一维数组;尺寸可为 -1,将基于兼容自动计算尺寸长度
order : {‘C’, ‘F’, ‘A’}, optional指定顺序将原数组中的元素逐个复制到新数组中。“C”:按行读取/存储;“F”:按列读取/存储

2、示例

2.1 基本语法示例

a = np.arange(6).reshape((3, 2))
print("a:", a)
>>> a: ([[0 1]
         [2 3]
         [4 5]])

其过程为:按照给定的索引顺序遍历数组,再使用相同的索引顺序将元素放置到新数组中

2.2 参数 order 的使用示例

a = np.arange(6).reshape((2, 3))
print("a:", a)
>>> a: [[0 1 2]
        [3 4 5]]
        
b = np.reshape(a, (3, 2))
print("b:", b)
>>> b: [[0 1]
        [2 3]
        [4 5]]
        
c = np.reshape(a, (3, 2), order="F")
print("c:", c)
>>> c: [[0 4]
        [3 2]
        [1 5]]

参数 order 的默认值为 “C”,即按行读取/存储。

2.3 参数 newshape 的使用示例

a = np.array([[1,2,3], [4,5,6]])
print("a:", a)
>>> a: [[1 2 3]
        [4 5 6]]
        
b = np.reshape(a, 6)
print("b:", b)
>>> b: [1 2 3 4 5 6]

c = np.reshape(a, -1)
print("c:", c)
>>> c: [1 2 3 4 5 6]

d = np.reshape(a, (3, -1))
print("d:", d)
d: [[1 2]
    [3 4]
    [5 6]]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值